Публикация

Использование Microsoft Agent в Terrasoft 3.X

Агент Мерлин
Если вы пользуетесь пакетом MS Office, то вы, скорее всего, виделись с «Помощником» - забавным персонажем, подсказывающим в неясных случаях и развлекающим своими выходками, скрашивая трудовые будни офисных работников. Бобик, Мурка, Колобок, Учёный и, конечно же, Скрепыш – все они созданы с помощью технологии Microsoft Agent, которая появилась ещё в 1998 году. Другой пример применения этой технологии – собачка-ищейка из диалогового окна поиска в Windows XP. Кстати, знаете ли вы, что это окно можно настроить, выбрав другого персонажа из четырёх возможных, или вообще его отключить и оставить пустую синюю панель.

А сейчас мы рассмотрим, как можно самостоятельно управлять из Terrasoft встроенными в систему «агентами». В состав Windows XP уже входит один персонаж – волшебник Мерлин, с ним мы и будем работать.

Добавим в обработчик какого-нибудь события:

//Инициализация
strAgentName = "MERLIN";
strAgentPath = "C:\\Windows\\Msagent\\Chars\\" + strAgentName + ".acs";
var objAgent = System.CreateObject("Agent.Control.2");
objAgent.Connected = true;
objAgent.Characters.Load(strAgentName, strAgentPath);
//Загружаем персонажа
var objMerlin = objAgent.Characters.Character(strAgentName);
//Перемещение в нужную точку экрана
objMerlin.MoveTo(700,300);
//Показываем персонажа
objMerlin.Show();
//Демонстрируем разные действия
objMerlin.Play("GetAttention");
objMerlin.Play("GetAttentionReturn");
//Выводим сообщение
objMerlin.Speak("Hello, Terrasoft!");
//Пауза
 System.Sleep (1000);
//Скрываем
var objAction= objMerlin.Hide();
//Ждём до окончания скрытия
while (objMerlin.Visible == true) {
         System.Sleep (250);
}

Как видим, под нашим управлением агент Мерлин может перемещаться, появляться и исчезать, говорить (не голосом, а облачком с текстом, как в комиксах) и производить различные действия. К слову, персонажа можно заставить говорить по-настоящему и даже распознавать голос, но для этого нужно установить несколько дополнительных файлов.

Приведём некоторые возможные команды в таблице:

Команда Действие
Show() появиться
Hide() прятаться
Play("Wave") помахать рукой
Play("Greet") поздороваться
Play("Think") задумчивость
Play("DoMagic1"), Play ("DoMagic2") показывать волшебство
MoveTo(x, y) переместиться в точку экрана (x,y)
Speak(s) сказать строку s
Think(s) подумать строку s
Play("Processing") варить зелье
Play("Reading") читать книгу
Play ("Announce") протрубить
Play("RestPose") ожидать новых команд

Если вас заинтересовала технология MS Agent, больше можно узнать по следующим адресам:
http://www.microsoft.com/MsAgent/
http://www.rsdn.ru/article/?582
http://characters.narod.ru/
http://jaws.tiflocomp.ru/synths/sapi/msagent_vb.php
http://www.compress.ru/article.aspx?id=11154&iid=443
http://www.codeproject.com/Articles/35921/Programming-Microsoft-Agent-in-Windows-Forms

Нравится

Поделиться

5 комментариев

Классная штука, развлекался еще в школе, у нас на проектах у кого то было требование увидеть Merlin'а в Terrasoft ?

"Яворский Алексей" написал:у нас на проектах у кого то было требование увидеть Merlin'а в Terrasoft ?

Пока не было.

А я думаю с помощью данного функционала можно например поздравить женскую часть коллектива с 8 марта. Думаю будет прикольно.

"Зверев Александр" написал:strAgentName2, strAgentPath2

Саша, переименуй переменные, чтоб не валилось.

Поправил, спасибо.

Показать все комментарии