Отправляет email-рассылки с помощью сервиса Sendsay

1С и электронная коммерция

  Все выпуски  

1С и электронная коммерция Агенты среди нас. Как управлять агентом




1С и электронная коммерция    Электронная газета сайта Системная интеграция + 1С

Четверг, 18 Февраля 2010 года (1917 год – начало забастовок рабочих Путиловского завода Петрограда, требовавших повышения зарплаты на 50 %.)

Внимание! Если хотите, чтобы мы посвятили рассылку Вам или вашему сайту, то пишите на почту: odin-s@bk.ru

Агенты среди нас. Как управлять агентом.

В первой главе я обещал рассказать побольше о свойствах и методах объектов Microsoft Agent. Объект Agent Conrol имеет всего один метод – ShowDefaultCharacterProperties, с его помощью можно открыть окно свойств загруженых персонажей.

Агент.Characters.Load("merlin","merlin.acs");
Агент.Characters.Load("peedy","peedy.acs");
Агент.Characters.Load("genie","genie.acs");
Агент.ShowDefaultCharacterProperties(100,200);

Параметры метода – экранные координаты положения окна в пикселах.

Объект Characters, кроме описаных в предыдущей статье методов Load и Unload, имеет еще метод Character, возвращающий ссылку на объект Character.

Агент.Characters.Load("peedy","peedy.acs");
Агент.Characters.Character("peedy").Show(0);

Гораздо более интересен объект Character. Поговорим сначала о его свойствах:

  • Name: возвращает имя персонажа (Джинн, Маг, Робби, Кеша)
  • Description: возвращает описание персонажа
  • ExtraData: возвращает расширенные сведения о персонаже
  • Version: возвращает версию персонажа
  • Visible: возвращает 0, если персонаж скрыт методом Hide, и -1, если персонаж видим на экране
  • AutoPopupMenu: с помощью этого свойства можно включить/выключить показ контекстного меню, появляющегося по правому клику на персонаже или иконке в трэйбаре, возвращает текущее состояние свойства:

    Персонаж.AutoPopupMenu=0; //выключить показ меню
    Персонаж.AutoPopupMenu=1; //включить

  • Height: возвращает или устанавливает высоту персонажа
  • Width: возвращает или устанавливает ширину персонажа
Попробуем вдвое увеличить нашего помошника:

Персонаж.Height=Персонаж.Height*2;
Персонаж.Width=Персонаж.Width*2;

Таким же образом можно уменьшить. Если Вы  заигрались  с изменением размеров, узнать оригинальный размер помогут свойства OriginalHeight и OriginalWidth, они только для чтения.

В первой главе уже рассказывалось об основных методах объекта Character. Однако, в примере был использован метод Think, о котором в статье не было ни слова. Исправляю это упущение.

Персонаж.Play("Think");
Персонаж.Think("А кто круче Нуралиев или Билл Гейтс?");

Метод рисует контур, в котором помещается строка параметра, персонаж при этом не издает ни звука, причем контур c текстом (далее будем называть его английским термином balloon) имеет форму слегка отличную от формы balloon'а, вырисовываемого методом Speak. Персонаж как бы думает, но для большей реалистичности, неплохо перед использованием метода, проиграть анимацию "Think".

А вот метод Speak имеет еще и второй параметр – имя WAV-файла. Т.е. чтобы ваш персонаж говорил без использования движка Text-To-Speech (TTS).

Персонаж.Speak("Привет!","c:\hello.wav");

При этом в balloon'е отображается "Привет!", но персонаж играет wav. Первый параметр может также содержать теги Speech Output Tags, которые задают свойства произносимого текста. Тэг \Chr\ определяет голос, каким произносится текст. Может принимать значения Normal (нормальный голос), Monotone (монотонно) и Whisper (шепотом). По умолчанию Normal.

Персонаж.Speak("\Chr=""Whisper""\Спать пора");

Тэг \Ctx\ определяет контекст произносимого текста. Параметр может принимать значения Address (адреса или телефонные номера), E-mail (адреса электронной почты) и Unknown (неизвстный контекст). По умолчанию Unknown.

Поставить ударение в тексте можно с помощью тэга \Emp\. Персонаж повторит текст, вызванный ранее, если параметром метода Speak будет только строка "\Lst\".

Иногда бывает необходимо, чтобы персонаж произносил один текст а показывался другой, этого можно достигнуть используя тэг \Ma\.

Персонаж.Speak("Да \map=""\Emp\здгаствует миго\Emp\вая \Emp\геволюция, товагищи
|""=""здравствует Мировая Революция, товарищи!""\"); //(с) В.И.Ленин

Тэг \Mrk\ устанавливает закладки в тексте, но использовать его мы не сможем, т.к. не можем перехватить событие достижения оной.

Выдержать паузу в произносимой фразе можно с помощью тега \Pau\, тег должен иметь параметр – длительность паузы в миллисекундах (\Pau=1000\).

Можно управлять и высотой голоса персонажа, для этого существует тэг \Pit\. Параметр тега – частота произносимого текста в герцах.

Персонаж.Speak("\pit=50\Акула! Акула! \pit=300\Акула!");

Тэг \Rst\ устанавливает значения по умолчанию для всех тегов.

Мы можем заставить нашего персонажа говорить помедленнее, используя тэг \Spd\. Число, указываемое как параметр, определяет количество произносимых слов в минуту (\Spd=100\).

Громкость произносимого текста регулируется тегом \Vol\. Параметр может принимать значения от 0 до 65535 (\Vol=65535\). Некотрые персонажи могут не поддерживать определенные теги, и все теги требуют установленный движок TTS.

Метод GestureAt объекта Character имеет два обязательных параметра: экранные координаты.

Персонаж.GestureAt(300, 200);

Персонаж повернется и укажет на указанную в параметрах точку, конечно, только в том случае, когда персонаж имеет соответствующий набор Gesture-анимаций.

И напоследок о методе Wait. Метод имеет смысл использовать когда вы управляете несколькими персонажами одновременно. Метод позволяет дождаться пока другой персонаж выполнит отданные ему инструкции

Персонаж1.Play("Pleased");
Задача=Персонаж1.Speak("Сигаретки не найдется?");
Персонаж2.Wait(Задача);
Персонаж2.Speak("Не курю, боксер.");

Я намеренно не останавливаюсь на событиях объектов, к сожалению, захватить событие без внешних компонент на V7 не удастся.

Автор: Алексей Бажитов


Новые темы форума для обсуждения

Серверы
  Форум Темы Ответы Обновления
Серверы и серверное оборудование
Создание самой удобной конфигурации. Любой желающий может помочь тому, кто еще только начинает работать с серверами
5 8 Воскресенье, 31.01.2010, 13:07
Тема: Нужна помощь
Сообщение от: AK-47

О компьютерах и серверах
  Форум Темы Ответы Обновления
WINDOWS 98, 2000, ХP, 2003, Vista и даже 95....
Винда, от 9x до 2003 и XP, Vista... Администрирование, программирование и т.п.
7 50 Вторник, 26.05.2009, 21:06
Тема: Подключение сети предприятия...
Сообщение от: Buddha

1C
  Форум Темы Ответы Обновления
1C и электронная коммерция 1 0 Пятница, 29.05.2009, 18:17
Тема: Бухгалтерия предприятия
Сообщение от: NightBeast


Вопросы обо всем
  Форум Темы Ответы Обновления
Околокомпьютерный флейм
Общение о компьютерах, серверах, других железках, если вдруг не нашли ответов и просто о компьютерах в нашей жизни. Можете рекламировать свои творения тут, в других разделах реклама будет удаляться...
7 0 Понедельник, 25.01.2010, 20:52
Тема: Vkracker
Сообщение от: scarlet
Анекдоты
Анекдоты и веселые истории на компьютерную и другие тематики
1 55 Понедельник, 25.05.2009, 11:06
Тема: Анекдоты
Сообщение от: Daniel

Продолжение можно прочитать тут >>>


«Новости, новинки и обзоры серверной и компьютерной техники для дома и другая информация наших друзей. Скидки и подарки»:

  • «Компания STSS стала официальным партнером NVIDIA»
    Компания STSS стала официальным партнером NVIDIA по профессиональным видеоускорителям nVidia Quadro FX, CX, NVS Семейство профиессиональных продуктов nVidia применяется в линейке графических станций Flagman W...

    Читать далее >>>

  • «Походы выходного дня в Подмосковье»
    В этом походе - пикнике Вы побываете в замечательном природном месте расположенном в Жемчужине Подмосковья. Это место называется Соколиная гора, у подножия которой расположен древнейший родник. Первые поселения в этих местах были еще 800 лет до Рождества Христова и носят как Православные символы, так и языческие. Место находится сравнительно недалеко от автомобильных и железнодорожных маршрутов, поэтому любой ребенок в сопровождении родителей с радостью преодолеет это расстояние по красивейшей природе...

    Читать далее >>>


Вы можете добавить свою новость или статью по адресу (необходимо зарегистрироваться): stss.3dn.ru
По вопросам размещения Ваших статей и информации в наших рассылках - пишите нам: odin-s@bk.ru
Давайте поможем детям! Информация здесь >>>
Рассылки Subscribe.Ru
Освещение для интерьеров и парков
Техника для создания любимой погоды в доме, от кондиционера до тепловой пушки
Автономные электростанции для загородного дома и все, что можно к ним подключить
Техника в помощь садоводу и фермеру
Все о насосах для любых водоемов и водонагревателях
Моечная и уборочная техника для быта и производства
Рукопашный бой для девушек -- выживание, психология!
Серверы, сетевое оборудование, тесты, характеристики, советы
Милосердие. Чем ты можешь помочь ближнему.
Православные знакомства
Агробизнес и советы садоводам
Здоровый образ жизни
Фотосъемка природы и людей на природе и в интерьере
Рецепты кухни народов СССР
Скидки, подарки, призы...
Секреты рекламы и создания интернет-магазинов
1С и электронная коммерция

В избранное