前面一篇《Flash MX 2004中的XML应用之原理篇》介绍了在Flash中使用XML来实现通讯的原理。现在我们就来看看这方面的应用实例――用Flash、Asp、XML来构建一个论坛。
先来看看论坛的功能,有登陆,查看主题,查看正文,发表新主题,回复主题,删除,权限管理等等基本功能,根据需要在此基础上稍作修改,就可以实现一个功能比较完备的论坛了。下面就按顺序一个一个来实现论坛的功能,每一个介绍的内容都分为“传递的XML”、“Flash端”、“Asp端”三部分。
点击附件下载本教程的源文件及代码
一、登陆
登陆就是将用户名和密码用XML格式发送到服务器端,服务器端将验证的结果用XML格式返回。
A、传递的XML
所谓传送的XML,就是在服务器端跟Flash端之间传送的XML字符串,也就是一般意义上的通讯报文了。
1、请求报文
<LOGIN><USERNAME>用户名</USERNAME><PWD>密码</PWD></LOGIN>
2、响应报文
<LOGIN name=”用户名” right=”权限”></LOGIN>
B、Flash端
1、在Flash MX 2004中新建一个Flash文件,在场景的第一帧的ActionScript面板上增加语句:
stop();
2、在第一帧的场景中用文本工具拉两个文本框,类型都为“Input type”,变量名var分别设置为“username”、“pwd”,这是用来输入用户名跟密码的。
3、新建一个Button并拖到第一帧的场景中,摆放位置如图1所示。并在这个Button的ActionScript面板中增加如下语句:

on(release){ loginXml = new XML(); // 注释1 loginElement = loginXml.createElement("LOGIN"); // 注释2 // name node nameElement = loginXml.createElement("USERNAME"); // 注释3 nameNode = loginXml.createTextNode("name"); // 注释4 nameNode.nodeValue = _root.username; // 注释5 nameElement.appendChild(nameNode); // 注释6 // pwd node pwdElement = loginXml.createElement("PWD"); // 注释7 pwdNode = loginXml.createTextNode("pwd"); pwdNode.nodeValue = _root.pwd; pwdElement.appendChild(pwdNode); loginElement.appendChild(nameElement); // 注释8 loginElement.appendChild(pwdElement); // 注释9 loginXml.appendChild(loginElement); // 注释10
xmlRepley = new XML(); // 注释11 xmlRepley.onLoad = onLoginReply; // 注释12 function onLoginReply (success) { if (success) { // 注释13 if (xmlRepley.firstChild.firstChild.attributes.right == "1") { // 注释14 _root.gotoAndPlay("main") }else { _root.username = "登陆失败"; } } } loginXml.sendAndLoad("http://localhost/xmlbbs/login.asp", xmlRepley); // 注释15
上一篇:Cool!Flash制作炫丽的图片特效
下一篇:Flash制作马赛克效果
|