教程分类
教程浏览排行

Authorware使用技巧之MicrosoftAgent的使用

   1 引 言

  Authorware是Macromedia公司出品的专业进行多媒体程序设计的工具,是目前公认的功能强大的交互式多媒体软件,广泛地应用到教学、商业、影视等领域。Microsoft Agent是微软公司发布的一项代理软件开发技术,作为一种软件代理工具,Agent以其强大的交互功能、鲜明的人性特点、优美的操作界面和简便统一的编程方法,对由菜单、按钮、提示框等组成的传统人机交互方式产生了很大影响,在多媒体创作、Web应用、教育软件、软件帮助系统和辅助工具制作等方面,具有广阔的应用前景。

  本文就针对Microsoft Agent技术在Authorware中的使用进行讨论。

2 Microsoft Agent介绍

  MicrosoftAgent最早出现在Office的帮助中,微软称之为“Office助手”。最新版本是Agent 2.0,支持简体中文。Microsoft Agent作为一种软件代理工具,主要作用是提供一种易于理解和使用的操作界面,接受用户的指令、代替用户完成某些复杂繁琐的工作、或为用户提供帮助。Microsoft Agent发展到2.0版,比以前版本有较大的改进。主要表现在:

 ?。?)他采用了基于COM的ActiveX控件方式,使得Microsoft Agent可以加入到普通应用程序中供本地系

统使用,也可以把他嵌入到HTML文档中供Internet/Intranet使用。Microsoft Agent支持C/C++,VisualBasic,Java,JScript和VBScript等多种编程语言。

 ?。?)Agent中的提供了多个动画角色,每个动画角色又提供了丰富的动作,如:听、说、玩魔术、鼓掌、悲伤、再见等。另外Agent动画角色本身是一个“AlwaysOnTop”窗口,只有人物身体部分挡住背景,使得他具有更好的视觉效果。

 ?。?)Agent更为显著的特点是结合了语音功能,Agent角色不仅能说话,而且还能听懂用户发出的命令。

3 在Authorware 6.0中使用Microsoft Agent 2.0

 ?。?)使用Microsoft Agent 2.0所需要的基本支持文件及说明如表1所示。

 ?。?)在Authorware 6.0中使用Microsoft Agent2.0的原理和方法

  由于Microsoft Agent采用了基于COM的ActiveX控件方式,我们要使Authorware能够使用Microsoft Agent,就必须访问MicorsoftAgent组件接口。Authorware不能直接对Microsoft Agent的接口进行编程,但可通过MsAgent.u32来访问Agent。实现原理图如图1所示。

Authorware使用技巧之MicrosoftAgent的使用

Authorware使用技巧之MicrosoftAgent的使用

  当Authorware需要使用Agent时,MsAgent.u32的函数首先通过访问Agent SCM(Service ControlManager)来激活Agent服务器程序(即AgentSvr.exe),使得客户程序(Authorware)与服务器(MsAgent)建立通信。这样Authorware就可以使用Agent组件提供的各种功能。

  在实际的使用中,首先要安装MicrosoftAgent中的支持文件,然后加载MSAgent2.u32并添加其提供的对Agent角色编程的函数,这样就可以像使用系统函数一样在程序中使用MsAgent2.u32中的函数对角色进行操作了。在Authorware中对Agent角色操作的流程如图2所示。

Authorware使用技巧之MicrosoftAgent的使用

 ?。?)使用Msagent2.u32中的函数对Agent角色编程

 ?、偌釉谹gent动画角色语法:maCharsDir()

  说明:该函数返回Agent角色所在的文件目录(在Windows 98/2000/Me中是C:\windows\msagent\chars,Windows NT中是C:\winnt\msagent\chars)。

  语法:Id:=maLoad(“Filename”)

  说明:该函数用于加载由Filename指定的Agent角色,若加载成功,返回该Agent角色的Id的值,否则返回0。

 ?、谙允続gent动画角色

  语法:maShow(Id,x,y,AutoPopupMenu,HideOnIdle)

  说明:该函数是在(x,y)处显示加载的Agent角色。参数AutoPopupMenu为1时,允许使用鼠标右键快捷菜单;为0时,禁止使用。参数HideOnIdle为1时,当Agent角色空闲时自动隐藏。对于*.ACS格式的Agent角色,只有Agent角色被加载后,才能使用该函数显示指定Agent角色。

  例如:

Authorware使用技巧之MicrosoftAgent的使用

  例子首先加载Agent角色Merlin,Merlin位于C:\window\msagen\chars\目录下,然后在(10,30)点处显示Agent角色,当我们点击右键时,会出现快捷菜单。

  当然,我们也可以在一个窗口中加载多个Agent角色(但不能是同一个角色),分别对他们操作,互不影响。如下面的例子同时把Merlin,Peedy这2个Agent角色显示出来。例:

Authorware使用技巧之MicrosoftAgent的使用

 ?、鄱灾付ǖ腁gent角色进行各种动作操作语法:maAnimationNames(Id)

  说明:返回指定Agent角色的动作列表。

  Microsoft提供的每个Agent角色都有十几个动作,我们可以通过下面的方法显示出来,以方便我们操作。加入Display图标,设置文本格式为Scrolling text,输入:“Agent角色动作{maAnimationNames(MyAgentId)}”,这样我们就可以对Agent角色的动作一目了然。

  语法:maGesture(Id,x,y)

  说明:Agent角色在(x,y)处打手势

  语法:maMove(Id,x,y)

  说明:将Agent角色移动到(x,y)处。

  语法:maPlay(Id,“Animation”)

  说明:演示特定的动作Animation.

  语法:maSpeak(Id,“text”,“Wavefile”)

  说明:说出指定的文本或声音文件。参数“text”为说的内容,参数“Wavefile”为说的输出指定的音频文件。两个都是可选参数,但使用该函数时至少要提供一个。如果安装有语音引擎和文本-语音转化引擎(TTS),可以同时将text指定的文本转化为语音输出,此时只需提供text参数,Agent角色将在文字气球(Word Balloon)中显示text的内容的同时,播放text的语音。

  例如:text:=“Hi!This is a sample!”

  maSpeak(MyAgentId,text,“”)maSpeak(MyAgentId,text)

在例子中后一个maSpeak函数可以把text的内容在文字气球中显示出来,同时朗读该句话。对于中文的语音输出,由于没有相应的中文文本-语音转化引擎(TTS),只能先将text的内容由其他方式转化为声音文件,然后再使用maSpeak。如:

  text:=“这个例子主要演示Agent的语音功能”

  maSpeak(MyAgentId,text,“s_text.wav”)

  其中:s_text.wav是设计者提供的text内容对应的声音文件。

语法:maStopAll(Id)

  说明:停止Agent角色的演示动作。

 ?、蹵gent角色属性的获取与设置

  语法:Height:=maGetHeight(Id)

  说明:若操作成功,返回Agent角色的高度。

  语法:Width:=maGetWidth(Id)

  说明:若操作成功,返回A

[1] [2]  下一页

来源:不详 发布时间:2012-4-14 18:10:38 浏览次数
上一篇教程:Authorware使用技巧之三维逼真山脉的表现技巧
下一篇教程:Authorware使用技巧之操作十二招
教程评论


评论人: 验证码:
内 容:
相关教程