//для примера, голосовой команды "Genie":
mySpeech = "Genie";
myRobby.Commands.Add(
mySpeech, mySpeech, mySpeech, true, true);
}
Чтобы записать нашу часть кода для показа на экране монитора первого персонажа Genie (Джин) при помощи первой кнопки “Показать Джина” на Form1 (рис. 47.5), дважды щелкаем эту кнопку в режиме редактирования (или в панели Properties выбираем заголовок button1 и на вкладке Events дважды щелкаем по имени события Click). Появляется файл Form1.h с шаблоном (метода button1_Click), который после записи нашего кода (согласно постановке задачи для первого персонажа) принимает следующий вид.
Листинг 47.3. Метод для кнопки “Показать Джина”.
//Объявляем общую для персонажей объектную переменную:
Object myObject = null;
private void button1_Click(object sender, EventArgs e)
{
//От начала координат в вехнем левом углу 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");
//Персонаж произносит текст из окна TextBox
//и показывает этот текст в виде подсказки:
myGenie.Speak(textBox1.Text, myObject);
}
Отметим, что в этом коде и далее число 1000 означает время (в миллисекундах) выполнения персонажем нашей команды в коде; это время, естественно, мы можем изменять.
Чтобы удалить персонаж с экрана монитора при помощи второй кнопки “Скрыть Джина ” на Form1 (рис. 47.5), дважды щелкаем эту кнопку в режиме редактирования. Появляется файл Form1.h с шаблоном (метода button2_Click), который после записи нашего кода принимает такой вид.