в предыдущей главе методике здесь
По изложенной в предыдущей главе методике здесь мы продолжим разработку методов управления персонажами при помощи голосовых команд. Напомним, что на листинге 48.2 в метод Form1_Load мы добавили новую голосовую команду в виде имени анимации (это имя имеется в окне со списком сomboBox2 для любого персонажа), чтобы видимый на экране персонаж произнес поясняющий текст и выполнил эту анимацию. К примеру, на листинге 48.2 для персонажа Genie (Джин) мы добавили имя анимации Announce в следующем коде:
//Добавляем имя анимации, активизируемое голосом:
mySpeech = "Announce";
myGenie.Commands.Add(
mySpeech, mySpeech, mySpeech, true, true);
Таким образом, чтобы после произнесения в микрофон имени анимации Announce персонаж выполнил эту анимацию, в панели Properties выбираем заголовок AxAgent1 (или щелкаем по элементу управления AxAgent1) и на вкладке Events дважды щелкаем по имени события Command. Появляется файл Form1.cs с шаблоном, который после записи нашего кода (согласно алгоритму) принимает такой вид.
Листинг 48.7. Метод, чтобы персонаж выполнял наши голосовые команды.
//Объявляем глобальный объект myCommand интерфейса
static AgentObjects.IAgentCtlUserInput myCommand;
private void axAgent1_Command(object sender,
AxAgentObjects._AgentEvents_CommandEvent e)
{
//Связываем объект myCommand с голосом пользователя:
myCommand = (AgentObjects.IAgentCtlUserInput)
(e.userInput);
//Если выше при помощи метода Add мы добавили
//имя анимации, например, Announce
//в качестве голосовой команды:
if (myCommand.Voice == "Announce")
{
//После голосовой команды останавливаем
//текущую анимацию:
myGenie.StopAll(myObject);
//Перед анимацией персонаж произносит:
mySpeech = "Охотно покажу эту анимацию.";
myGenie.Speak(mySpeech, myObject);
//Показывает анимацию, имя которой
//мы произнесли в микрофон:
Содержание Назад Вперед
Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий