Использование MS Agent в .NET Framework

В данной статье речь пойдет об использовании технологии MS Agent в Microsoft .NET Framework.

Прежде чем перейти к разбору примеров, давайте посмотрим на область применения технологии MS Agent. Сначала MS Agent являлась отдельным продуктом, который можно было скачать с сайта Майкрософт. Российские пользователи могли познакомиться с данной технологией, приобретая программный продукт известной питерской компании PROMT под названием Magic Gooddy 98. Волшебный гусь представлял собой переводчик, ориентированный на детскую аудиторию. Но его услугами с удовольствием пользовались и взрослые, плохо знающие английский язык. Переводчик представлял собой обычый текстовый редактор, разделенный на две части. Вводимые в одну часть редактора слова автоматически переводились на другой язык. Фишка заключалась в том, что можно было воспользоваться услугами виртуального персонажа, который мог воспроизвести текст вслух! Этот пример иллюстрирует, для чего собственно была разработана данная технология.

Исследования показали, что у части пользователей существует определенный страх перед машиной. Диалог с машиной с помощью клавиатуры и мыши пугает пользователя. Исследователи установили, что общение с компьютером станет более эффективным, если будет происходить в форме человеческого общения. Майкрософт решила попробовать воплотить эти рекомендации в жизнь. Была предложена концепция общения через виртуального персонажа. Это не обязательно должен быть человек, но, например, симпатичный зверек или знакомый предмет. Наиболее известным продуктом, в котором применили новую форму общения, стал MS Office 97, где пользователи смогли познакомиться со Скрепкой (Скрепка из Office 97 не является персонажем MS Agent, несмотря на свою определенную схожесть. А в MS Office XP ассистент Скрепка уже полноценный персонаж MS Agent.). На основе этой и целого ряда других разработок Майкрософт выпустила на рынок технологию MS Agent. Начиная с Windows Me/2000, MS Agent является уже составной частью операционной системы. MS Office XP также использует помощников MS Agent. Дальнейшее развитие этой технологии было заморожено. В следующих версиях MS Office персонажи уже не используются, а в Windows Vista ничего нового не появилось.

Рассмотрим пример использования MS Agent в C#. Запускаем среду разработки Microsoft Visual Studio. Приступим к подключению MS Agent к проекту. Сначала необходимо добавить элемент управления AxAgent на панель инструментов (ToolBox). Щелкните правой кнопкой мыши в Toolbox и выберите пункт Chose Item. В диалоговом окне перейдите на вкладку COM Components и найдите строчку Microsoft Agent Control 2.0. Отметься галочкой найденную строку и нажмите кнопку Select.

После этого шага на панели инструментов появится новый элемент управления с изображением мужчины в шляпе. Перетащите данный элемент на форму. Первые приготовления закончены.

Теперь можно приступать к написанию кода. Для начала создадим глобальную переменную для загружаемого персонажа:


AgentObjects.IAgentCtlCharacterEx character;

Теперь можно загружать персонаж. Удобнее всего это делать при загрузке формы:


private void Form1_Load(object sender, EventArgs e)
{
    // Загружаем персонаж
    this.axAgent1.Characters.Load("merlin", "merlin.acs");
    character = this.axAgent1.Characters["merlin"];
}

Теперь напишем код для кнопки, которая будет отвечать за показ персонажа на экране.


private void button1_Click(object sender, EventArgs e)
{
    character.Show(null);    // показываем персонаж
    character.MoveTo(300, 400, null);   // перемещаем персонаж в указанные координаты
    character.Play("Greet");     // выводим анимацию Приветствие
    character.Speak("Hello, friend", null);    // говорим заготовленную фразу
}

Надо отдельно сказать, что персонаж без проблем произносит фразы на английском языке. Если вы будете использовать русские слова, то вы увидите их в сообщении-облачке (Balloon), но не услышите их через динамики. Для того, чтобы персонажи заговорили и на русском языке, нужно установить специальные голосовые движки (Примечание: это относится к Windows XP, как обстоит это дело в Windows Vista я не проверял).

Мы рассмотрели простейший пример работы с персонажами MS Agent 2.0 на C#. Кроме стандартного персонажа Merlin, поставляемого с операционной системой, существует несколько сотен других персонажей на любой вкус. Всем, кто заинтересовался персонажами, советую прогуляться на сайт characters.narod.ru/, на котором собрана внушительная коллекция помощников.

Дополнительные материалы

Книга MS Agent Графические персонажи для интерфейсов
Интерактивный Справочник по MS Agent в среде VB - на данный момент справочник имеется на компакт-диске к книге MS Agent Графические персонажи для интерфейсов
Статья Использование MS Agent в .NET Framework из журнала RSDN
Статья Создание персонажа MS Agent из журнала RSDN
Примеры на Visual Basic 6.0 на сайте Русский_Проект
Подборка персонажей на сайте characters.narod.ru

Реклама