二、伶牙俐齿
3 `' @; C6 x6 L/ e9 [下面,我们就让他来做一点实际的东西 —— 说话!还是接续上例:
; C4 ]! E/ g n
$ M& K* F ^2 L* y9 f' A! u9 w. x4 b6 @$ E2 b
( a7 f/ P. h, @" x* O$ t2 z8 ^
, Q& C$ @" s- H4 Jobject style="visibility:hidden" id="MSAgent" classid="CLSID

45FD31B-5C6E-11D1-9EC1-00C04FD7081F"/object
& b( p" `. q( {' f9 A0 S
script language="JavaScript"
7 d+ L+ G8 S$ |" _( K+ s% a
//Coded by Windy_sk windy_sk@126.com 20040214
Q1 l- Z2 h3 m7 a5 z
" l& x! K: f& c+ Y bvar Agent = null;
4 j$ T. \( j" `
var AgentID = "Merlin";
! _$ B0 X b: c* A& lvar AgentACS = "merlin.acs";
. T4 p8 n) J$ [1 N! p
MSAgent.Connected = true;
^2 x$ G4 k$ l; Q) I
MSAgent.Characters.Load(AgentID,AgentACS);
5 [, v0 H! j: i$ \/ e7 {Agent = MSAgent.Characters.Character(AgentID);
. t1 A0 Z3 |' k! f4 l& J
Agent.LanguageID = 0x0409;
/ n2 `% N, t: L7 P& a2 M
Agent.Show();
* g% r* ^% I" [# e* g; A4 ~( }) |$ ^
Agent.Speak("Hello Everybody, I am Merlin!");
5 Y0 O! R4 }; S$ Z% GAgent.Think("What shall I do the next?");
1 [6 C9 y' p( V/script
1 N1 K- A; n8 ? # V- X! i6 X }# P4 a" y- C( C
9 r/ d5 b/ L3 y2 s6 Q : _, R8 q3 |0 S
9 c5 b" F2 D$ \
/ h/ T$ }+ E% ^: e& w9 B
5 E2 R! p& _6 s, S) g8 m5 R# k/ C* | 5 X- Z' |: _* g7 A8 J4 x
4 M+ s2 O) h+ `4 Z% M" b
8 |' r/ ]8 q t/ l: |' g( u; R! Y
0 E% O K+ C) `, x( K5 J& o2 A
6 p8 h5 P1 l7 n% f: Z9 k z1 C! L% l% g
& R& J8 n: \: V9 |( X2 v8 G
: k Q( t, m9 C9 W2 J
$ A$ S8 a V% q ) k; Q" A# o9 Q* d5 x
2 S& A4 _9 G# K! k: c+ i) H
Merlin 说话了(如果要读出声音来的话,需要客户端在 MicroSoft 的网站上下载并安装相应的语音引擎)!这里涉及到这么几个新的东西:
/ i- W% ? q. y. Y
6 L; d2 [% W9 s, O, h
Agent.LanguageID 声明语言种类,0x0409是英文的编号(有关语言编号请参考 www.microsoft.com/globaldev/reference/oslocversion.mspx ),目前如果没有这个声明,或声明为错误的语种,则语言只是一次性完全显示。
2 E g/ u9 @( C, x6 z8 q1 N r- W4 I4 m! ]0 u# Y3 ~6 i' B7 z
Agent.Speak() 和 Agent.Think() 是 MSAgent 的两个语言表达显示行为,只有显示图形的区别。
3 s* f+ v/ ]* A: N, T6 O- H了解了这些功能,是不是正在陶醉呀?别急,还有更好的东西呢!