首页 > 办公 > Dreamweaver > 正文

MSAgent 详细解说-Dreamweaver教程

2024-09-12 12:29:51
字体:
来源:转载
供稿:网友
四、改头换面
msagent = merlin ? 错!msagent 是指一系列动画人物的总称,最常见的 office 中的那些活宝,各位应该都熟悉吧?先来看看下面的这个例子:

<object style="visibility:hidden" id="msagent" classid="clsid:d45fd31b-5c6e-11d1-9ec1-00c04fd7081f"></object>
<script language="javascript">
//coded by windy_sk <windy_sk@126.com> 20040214

var agent = null;
var agentid, agentacs;
var agentload = false;

function loadagent(newagent) {
if(agentload) {
msagent.characters.unload(agentid);
msagent.connected = false;
agent = null;
}
agentid = newagent;
agentacs = "http://agent.microsoft.com/agent2/chars/" newagent "/" newagent ".acf";
msagent.connected = true;
msagent.characters.load(agentid, agentacs);
agentload = true;
agent = msagent.characters.character(agentid);
agent.get("state", "showing, hiding");
agent.moveto(400, 300);
agent.show();
return;
}

loadagent("merlin");
</script>

msagent select :
<select name="agent_select" onchange="loadagent(this[this.selectedindex].text)">
<option>merlin</option>
<option>peedy</option>
<option>genie</option>
<option>robby</option>
</select>

  看到没有? 原来 msagent 还有这么多可爱的造型呢!上面的例程中,我定义了一个读取角色的函数 loadagent ,通过这个函数更换角色,其中的大部分的功能在前面的章节中已经介绍了,这里仅仅说明一下,新的方法:

msagent.characters.unload() 卸载角色,其中 agentid ,必须是 msagent.characters.load() 中声明过的

agent.moveto() 这个方法上一节中介绍过,但是假如把它放在 agent.show() ,则相当于定义角色的出现位置

其实,msagent 绝对不仅仅是那么多,但是 microsoft 的官方网站上只提供了那么多……怎么办?可以从他的网站上连接角色,当然可可以从你的网站上呀!你可以在这里 www.microsoft.com/msagent/downloads/user.asp 下载官方角色以及语音引擎(可惜没有中文);当然,假如你有爱好的话也可以开发一个属于自己的 agent ,相关开发工具 www.microsoft.com/msagent/downloads/developer.asp ,网上也有很多高手做好的动画人物,推荐一个网站 www.msagentring.org/chars.htm 你也可以自己搜索一下。

安装后角色文件存放在 %windows%/msagent/chars 目录下的 *.acs 文件,上传到服务器上,直接引用到那个路径就可以了!(你也可以在你的硬盘里搜索一下 *.acs 会有不小的收获呦)这里要说明一下,请自行更改程序中标明网络路径的相关语句,且注重扩展名是 .acs !

假如要让本机支持相应的 msagent ,也就是说不用网络调用,只要把 *.acs 文件 copy 到 %windows%/msagent/chars 目录就可以了,但假如是 *.exe 的安装文件,则会自动把角色文件放置到相应的路径下。|||


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表