隨筆 - 154  文章 - 60  trackbacks - 0
          <2008年3月>
          2425262728291
          2345678
          9101112131415
          16171819202122
          23242526272829
          303112345

          聲明:

          該blog是為了收集資料,認(rèn)識(shí)朋友,學(xué)習(xí)、提高技術(shù),所以本blog的內(nèi)容除非聲明,否則一律為轉(zhuǎn)載!!

          感謝那些公開(kāi)自己技術(shù)成果的高人們!!!

          支持開(kāi)源,尊重他人的勞動(dòng)!!

          常用鏈接

          留言簿(3)

          隨筆分類(148)

          隨筆檔案(143)

          收藏夾(2)

          其他

          學(xué)習(xí)(技術(shù))

          觀察思考(非技術(shù))

          搜索

          •  

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          作了少許調(diào)整!

          <!--
          讓你的網(wǎng)頁(yè)更精彩--Microsoft Agent在網(wǎng)頁(yè)上的簡(jiǎn)單應(yīng)用
          (本文假設(shè)您使用WindowsXP或Windows2000操作系統(tǒng)) 
          不知在你漫游互聯(lián)網(wǎng)時(shí)可曾在他開(kāi)
          某個(gè)網(wǎng)頁(yè)時(shí)看到一個(gè)小巫師,藍(lán)色的袍子上滿是金黃的星星和月亮十分可愛(ài)。他會(huì)向你問(wèn)好,給
          你介紹這個(gè)網(wǎng)站。你一定奇怪,那個(gè)巫師是怎么做出來(lái)的。其實(shí)他并不
          是網(wǎng)頁(yè)實(shí)現(xiàn)的而是微軟的一個(gè)ActiveXObject 叫Microsoft Agent。今天,
          我們來(lái)討論如何在你的網(wǎng)頁(yè)中加入這個(gè)可愛(ài)的Agent(他叫Merlin)。
          Microsoft Agent 的官方角色除了WindowsXP和2000自帶的巫師Merlin,
          還有需要從http://www.microsoft.com/msagent/downloads/user.asp#character 下載的附加界色。他們
          是瓶中妖怪Genie(還記得那首歌嗎),鸚鵡Peedy和機(jī)器人Robby。下載后的文件是exe文件,
          直接運(yùn)行就可以完成安裝了。
          在我們的網(wǎng)頁(yè)里可以通過(guò)Javascript調(diào)用Agent.Control.2來(lái)裝載我們的Agent。具體方法如下:
          var chName; 
          var agent;
          var ch;
          chName = "Merlin";
          agent = new ActiveXObject("Agent.Control.2"); 
          agent.Connected= true; 
          agent.Characters.Load(chName,chName+".acs");
          ch = agent.Characters(chName);
          代碼解釋:
          · chName 是我們要用的角色的名字,因?yàn)槎喑鲆褂盟园阉4娉勺址妥兞苛耍@里我們把它定義成了"Merlin"。
          · agent 為Agent.Control.2指定一個(gè)對(duì)象變量
          · agent.Connected = true 用來(lái)啟動(dòng)于Microsoft Agent的連接
          · agent.Characters.Load() 讀入要使用的角色,他有兩個(gè)參數(shù),第一個(gè)是角色的姓名,第二個(gè)是角色存儲(chǔ)的文件。
          o 這里順便說(shuō)一下,Microsoft Agent角色都保存在Windows目錄下的MSAgent
          PDF 文件使用 "pdfFactory Pro" 試用版本創(chuàng)建 ?www.fineprint.com.cn
          文件夾中的chars文件夾內(nèi)。一般情況下其文件名與角色名是相同的角色文件的
          擴(kuò)展名是.acs。

          · ch = agent.Characters() 讓ch成為角色的操縱變量,以后我們只要操縱ch 就可以讓我們的角色作出各種動(dòng)作了。比如我們要使用Speak行為就輸入ch.Speak("Hello");
          · 這部分代碼基本上就是個(gè)模板,應(yīng)用時(shí)Copy&Paste就Ok了.好了,現(xiàn)在我們角色已經(jīng)讀入了內(nèi)存。
          接下來(lái)我們來(lái)討論一些常用基本角色行為。
          基本角色行為(以merlin為例)
          show() 使角色顯示在屏幕上。剛剛創(chuàng)建的角色是不能自己現(xiàn)實(shí)出來(lái)的必須調(diào)用show()函數(shù)。
          hide() 相對(duì)于show()的函數(shù),用來(lái)讓角色從屏幕上隱藏起來(lái)(并不從內(nèi)存中刪除)
          speak(words) 讓我們的角色"說(shuō)話",words的內(nèi)容會(huì)顯示在一個(gè)語(yǔ)言氣球內(nèi),words為字符串
          think(words) words的內(nèi)容會(huì)顯示在一個(gè)思考?xì)馇騼?nèi),words為字符串
          moveto(x,y) 移動(dòng)到屏幕的(x,y)位置
          play(ani) 使用角色動(dòng)畫ani 為字符串。其值可以為:
          Announce 
          Explain
          Congratulate
          DontRecongnize
          Gesturedown
          Gestureleft
          Gestureright
          Gestureup
          Greet
          Pleased
          Read
          Surprised
          Idel1_1到Ideal1_4
          Idel2_1和Idel2_2

          這里僅僅給出關(guān)于Merlin 的一部分,具體動(dòng)畫指令可參看MSDN的Microsoft Agent Animations
          for .里的內(nèi)容,沒(méi)有MSDN的朋友也可以到Microsoft 的網(wǎng)站去下載agent的幫助文件。
          好了,介紹到這里Microsoft agent 最簡(jiǎn)單的應(yīng)用就已經(jīng)講完了,下面來(lái)看一個(gè)例子吧。
           
          程序事例:
          -->
          <html>
          <body>
          <script>
          var chName;
          var agent;
          var Merlin;
          chName 
          ="Merlin";
          agent 
          = new ActiveXObject("Agent.Control.2");
          agent.Connected 
          = true;
          agent.Characters.Load(chName,chName
          +".acs");
          Merlin 
          =agent.Characters(chName);
          Merlin.MoveTo(
          200,200);
          Merlin.Show();
          Merlin.Play(
          "Announce");
          Merlin.Speak(
          "歡迎來(lái)到 的個(gè)人主頁(yè)");
          Merlin.Play(
          "Explain");
          Merlin.Speak(
          "咳,這里收錄了和他朋友的文章。希望您能喜歡。");
          Merlin.Play(
          "Idle1_1");
          Merlin.Play(
          "Pleased");
          Merlin.Speak(
          "請(qǐng)進(jìn)吧,我的客人");
          Merlin.MoveTo(
          600,300);
          Merlin.Play(
          "Surprised");
          Merlin.Speak(
          "哦對(duì)了,大家最近小心非典。多多注意哦");
          Merlin.Play(
          "Idle1_2");
          Merlin.Play(
          "GestureUp");
          Merlin.Speak(
          "祝您在這里愉快");
          Merlin.Play(
          "Read");
          Merlin.Hide();
          </script>
          </body>
          </html>
          <!--
          這里僅僅講述了Microsoft agent最最簡(jiǎn)單用法。Microsoft Agent的目的是為我們提供一個(gè)語(yǔ)音命
          令環(huán)境,只是無(wú)奈于目前還沒(méi)有中文的語(yǔ)言包,我們還不能體會(huì)到他的便利。您可以參考MSDN
          里對(duì)Agent的語(yǔ)音用法的說(shuō)明。
          PDF 文件使用 "pdfFactory Pro" 試用版本創(chuàng)建 ?w ww.fineprint.com.cn
          -->


          另一篇文章介紹的一種方法:

          <html>
          <body> 
          <SCRIPT> 
          <!--   
          function crml(nid)  
          {   
          try   
          {   
          nid
          =new ActiveXObject("Agent.Control.2");   
          nid.Connected 
          = true;   
          nid.Characters.Load(
          "");   
          return nid;   
          }
             
          catch (err)   
          {   
          return false;   
          }
             
          }
             
          function chplay ()   
          {   
          if (ml=crml ("ml"))   
          {   
          var MerlinID;   
          var MerlinACS;   
          Merlin 
          = ml.Characters.Character(MerlinID);   
          Merlin.MoveTo(
          200,200); 
          Merlin.Show();   
          Merlin.Play(
          "Explain");   
          Merlin.Play(
          "Announce");   
          Merlin.Speak(
          "修改成您想要說(shuō)的話");   
          Merlin.Play(
          "Gestureright");   
          Merlin.Play(
          "Pleased"); 
          Merlin.Speak(
          "修改成您想要說(shuō)的話");   
          Merlin.Play(
          "Idle1_1"); 
          Merlin.Hide(); 
          Merlin.MoveTo(
          600,300); 
          Merlin.Show(); 
          Merlin.Play(
          "Surprised");   
          Merlin.Speak(
          "修改成您想要說(shuō)的話"); 
          Merlin.Play(
          "Read"); 
          Merlin.Speak(
          "修改成您想要說(shuō)的話"); 
          Merlin.Play(
          "Read"
          Merlin.Play(
          "GestureUp"); 
          Merlin.Speak(
          "修改成您想要說(shuō)的話"); 
          Merlin.Play(
          "DontRecognize"); 
          Merlin.Speak(
          "修改成您想要說(shuō)的話"); 
          Merlin.Play(
          "DontRecognize");   
          Merlin.Play(
          "Greet"); 
          Merlin.Speak(
          "修改成您想要說(shuō)的話"); 
          Merlin.Play(
          "Greet"); 
          Merlin.Speak(
          "修改成您想要說(shuō)的話"); 
          Merlin.Play(
          "Greet"); 
          Merlin.Hide();   
          }
             
          }
             
          //-->   
          </SCRIPT> 

          <SCRIPT>   
          <!--   
          chplay()   
          -->   
          </SCRIPT> 
          </body>
          </html>


           

          posted on 2008-03-12 10:32 lk 閱讀(383) 評(píng)論(0)  編輯  收藏 所屬分類: ajax&jshtml
          主站蜘蛛池模板: 洱源县| 将乐县| 尚义县| 柳州市| 陇南市| 贡觉县| 大庆市| 兰坪| 神池县| 吴江市| 桃源县| 井陉县| 佛山市| 中山市| 通江县| 西充县| 邵阳县| 郎溪县| 刚察县| 金沙县| 德格县| 高密市| 双鸭山市| 白沙| 灵川县| 扶余县| 乡城县| 杭州市| 会泽县| 大连市| 绥江县| 准格尔旗| 互助| 含山县| 洛扎县| 昌江| 军事| 安岳县| 内黄县| 安阳县| 大冶市|