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


         

персонаж перемещается на место курсора


//Объявляем глобальный объект myCommand интерфейса
static AgentObjects.IAgentCtlUserInput myCommand;
private void axAgent1_Command(object sender,
      AxAgentObjects._AgentEvents_CommandEvent e)
{
    //Связываем объект myCommand с голосом пользователя:
    myCommand =
            (AgentObjects.IAgentCtlUserInput)(e.userInput);
    //После команды голосом "MoveToMouse"
    // персонаж перемещается на место курсора мыши:
    if (myCommand.Voice == "MoveToMouse")
    {
        myGenie.MoveTo(
            Convert.ToInt16(Cursor.Position.X),
            Convert.ToInt16(Cursor.Position.Y), 1000);
    }
    //После команды голосом "Merlin"
    //прежний персонаж скрывается, а новый появляется:
    if (myCommand.Voice == "Merlin")
    {
        //Скрыть прежний персонаж:
        myGenie.Hide(0);
        //От начала координат в верхнем левом углу Form1
        //задаем координаты "x,y" места нового персонажа:
        myMerlin.MoveTo(
            Convert.ToInt16(this.Location.X + 400),
            Convert.ToInt16(this.Location.Y - 130), 1000);
            //Показать новый персонаж в заданном месте:
        myMerlin.Show(0);
        //Чтобы персонаж произносил речь через динамики,
        //задаем ему следующие свойства:
        myAgentController = new AgentObjects.Agent();
        myAgentController.Connected = true;
        myAgentController.Characters.Load(
                                    "merlin", "merlin.acs");
        myMerlin =
           myAgentController.Characters.Character("merlin");
        //Новый персонаж произносит речь:
        mySpeech = "Я - Маг. Есть проблемы?";
        myMerlin.Speak(mySpeech, myObject);
    }
}
Поясним этот код. После нашей голосовой команды Hide текущий персонаж скрывается (без написания дополнительного кода в данном листинге). Но если мы хотим, чтобы после произнесения нами одного из заданных по умолчанию имен персонажей (Genie, Merlin, Peedy, Robby), этот озвученный новый персонаж не просто появился в верхнем левом углу экрана, а появился в заданном нами месте и после этого произнес речь, мы должны записать это в коде, что мы и сделали в этом листинге.

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