本页面由 Flash 保存计划 从 Internet Archive 存档还原 · 快照 2006-07-08 · 原址 http://www.flash8.net/teach/4061.htm ← Flash 保存计划

如何让网页中跳出一个会说话的老人

作者:闪吧   类型:原创   来源:闪吧

  如何让网页中跳出一个会说话的老人
解决思路
这个老人叫 Merlin,他其实是微软的一个叫 Microsoft Agent 的 ActiveX 控件,而不是网页中能直接实现的。
具体步骤

方法一:通过创建ActiveX控件调用。

<script> 
    //创建 ActiveX 控件对象并设为下面语句的默认对象
with(new ActiveXObject("Agent.Control.2")){
      Connected = true  //启动与 Microsoft Agent 的连接
/*读入要使用的角色,第一个参数是角色的名字,第二个参数是角色存储的文件。Microsoft Agent角色都保存在系统目录下的 MSAgent 文件夹中的 chars 文件夹内,一般情况下其文件名与角色名是相同的角色文件的扩展名是.acs*/
Characters.Load("Merlin","Merlin.acs")            
//以变量 Merlin 返回角色的操纵句柄
var Merlin = Characters.Character("Merlin")
}
 with(Merlin){
      MoveTo(0,0) 
      Show() 
      Play("Explain") 
      Play("Announce") 
      Speak("欢迎光临!随便看看~~")
      Play("Gestureright")
      Play("Idle1_1")
      MoveTo(screen.width-100,screen.height-130)
      Play("Surprised") 
      Play("Read")
      Play("GestureUp") 
      Play("DontRecognize")
      Play("Greet")
      Speak("看完之后记得:")
      Play("Write")
      Speak("给我留言")
      Play("Pleased")
      Hide()
 }
</script>

方法二:通过控件ID直接插入。

<object id="agent" classid="CLSID:D45FD31B-5C6E-11D1-9EC1-00C04FD7081F"></object>
<script defer>
 with(agent){
      Connected = true                 //启动与 Microsoft Agent 的连接
      Characters.Load("Merlin","Merlin.acs")   //读入要使用的角色
      var Merlin = Characters.Character("Merlin")    
//以变量 Merlin 返回角色的操纵句柄
}
 with(Merlin){
      MoveTo(0,0) 
      Show() 
      Play("Explain") 
      Play("Announce") 
      Speak("欢迎光临!随便看看~~")
      Play("Gestureright")
      Play("Idle1_1")
      MoveTo(screen.width-100,screen.height-130)
      Play("Surprised") 
      Play("Read")
      Play("GestureUp") 
      Play("DontRecognize")
      Play("Greet")
      Speak("看完之后记得:")
      Play("Write")
      Speak("给我留言")
      Play("Pleased")
      Hide()
 }
</script>

特别提示
两种方法的运行效果完全一样。页面打开后将跳出微软Agent--Merlin,效果如图 3.48 所示。

图3.48 Merlin 在网页中的调用

特别说明


本例介绍了微软Agent--Merlin 在网页中的调用方法。灵活运用,将使你的网页显示人性化。
Merlin 的基本行为:
Show() 使 Merlin 显示在屏幕上。
Hide()相对于 Show() 的函数,使角色从屏幕上隐藏起来(并不从内存中删除)
Speak(words) 让 Merlin "说话",words的内容会显示在一个语言框,words为字符串。
Think(words) words的内容会显示在一个思考 Merlin,words为字符串
MoveTo(x,y)  移动到屏幕的(x,y)位置
Play(ani)    使用角色动画 ani 为字符串。其取值如表 3.6 所示。
        
表 3.6 Merlin的Play行为的动作列表
AnnounceExplainCongratulate
DontRecongnizeGesturedownGestureleft
GesturerightGestureupGreet
PleasedReadSurprised
Idel1_1Ideal1_2Ideal1_3
Ideal1_4Idel2_1Idel2_2
   责任编辑:kissall    时间:2005年8月29日

正在加载评论...