Компьютерная графика, мультимедиа и игры на Visual C#


         

Глава Методика управления мульти­пликационными персонажами - часть 11


        mySpeech = "Я - Робот. Есть проблемы?";

        myRobby.Speak(mySpeech, myObject);

    }

}

Аналогично (для следующего персонажа) в панели Properties выбираем заголовок следующего элемента управления axAgent4 и на вкладке Events дважды щелкаем по имени события Command. Появляется файл Form1.cs с шаблоном (метода axAgent4_Command), который после записи нашего кода (согласно алгоритму) принимает следующий вид.

Листинг 47.18. Метод, чтобы Робот выполнял наши голосовые команды.

private void axAgent4_Command(object sender,

      AxAgentObjects._AgentEvents_CommandEvent e)

{

    //Связываем объект myCommand с голосом пользователя:

    myCommand =

            (AgentObjects.IAgentCtlUserInput)(e.userInput);

    //После команды голосом "MoveToMouse"

    //персонаж перемещается на место курсора мыши:

    if (myCommand.Voice == "MoveToMouse")

    {

        myRobby.MoveTo(

            Convert.ToInt16(Cursor.Position.X),

            Convert.ToInt16(Cursor.Position.Y), 1000);

    }

    //После команды голосом "Genie"

    //прежний персонаж скрывается, а новый появляется:

    if (myCommand.Voice == "Genie")

    {

        //Скрыть прежний персонаж:

        myRobby.Hide(0);

        //От начала координат в верхнем левом углу Form1

        //задаем координаты "x,y" места нового персонажа:

        myGenie.MoveTo(

            Convert.ToInt16(this.Location.X + 400),

            Convert.ToInt16(this.Location.Y - 130), 1000);

            //Показать новый персонаж в заданном месте:

        myGenie.Show(0);

        //Чтобы персонаж произносил речь через динамики,

        //задаем ему следующие свойства:

        myAgentController = new AgentObjects.Agent();

        myAgentController.Connected = true;

        myAgentController.Characters.Load(

                                    "genie", "genie.acs");

        myGenie =

           myAgentController.Characters.Character("genie");




Содержание  Назад  Вперед