快速业务通道

flash动态读取xml数据来实现评论功能

作者 佚名技术 来源 服务器技术 浏览 发布时间 2012-07-12


这个是给一个项目做的,所以可能有些地方因为单独拿出来而缺少,主要给大家讲的是构思 结构为 comment_list.swf comment_template.swf comment_markup.swf write_comment.swf 数据(comment_list1.XML,comment_list2.xml,comment_list3.xml),也可为语言生成的xml,如web service
因为大家用的语言可能都不一样,所以就在这里不阐述是怎么使用语言来生成xml的,向我用的是JSP 先看效果
http://www.gthome.com/1/20050101/comment_list.HTML
首先制作 comment_template 这个文件, 作为一个模板,所有的评论都在这个文件里面显示 按此在新窗口浏览图片
如图所示,template文件夹里面的各个layer都是图像,大家可以根据自己的爱好来修改 重点介绍一下as这个layer,可以看到这里主要是构建一个elemnts的array来保存所有在scene1里面的object,也就是各个MC以及textfield,在这个array里面,每个成员有如下属性
name,这个成员的名称
obj,这个成员在scene1里的实际object
distance,这个成员和他下面成员的距离(本例不涉及) _parent.getInfo(this, elements); 这句的意思是调用这个mc上一层的函数getInfo并且把数组和本身传入,最后是测试语句,看你是不是把所有object都包含了
stop();
elements = new Array();
elements.push({name:"titles", obj:this.titles, distance:0});
elements.push({name:"titleBG", obj:this.titleBG, distance:0});
elements.push({name:"contentOfMask", obj:this.contentOfMask, distance:0});
elements.push({name:"contents", obj:this.contents.contents, distance:0});
elements.push({name:"contentBG", obj:this.contentBG, distance:0});
elements.push({name:"sep", obj:this.sep, distance:0});
elements.push({name:"arrows", obj:this.arrows, distance:0});
elements.push({name:"authorip", obj:this.authorip, distance:0});
elements.push({name:"infoBG", obj:this.infoBG, distance:0});
elements.push({name:"templateBG", obj:this.templateBG, distance:0});
_parent.getInfo(this, elements);
/*for(i in elements){
trace(i);
trace(elements[i].name);
trace(elements[i].obj._height);
trace("=====");
}*/下面就是重点的comment_markup.swf
comment_markup.swf其实就是一个整合xml和swf的中间件 按此在新窗口浏览图片 如图所示,这个Flash里面只有一个as,但确实非常××× stop();
XML.prototype.ignoreWhite = true;
//set action
var page_current = _root.page_current;
var page_total;
var page_comment;
//var loadXML = "/stream/showMessageServlet.do??programID=" + _root.programID + "&catalogNumber=" + _root.catalogNumber + "¤t_page=" + _root.page_current;
var loadXML = "comment_list"+page_current+".xml";
//trace(loadXML);
comment_listXML = new XML();
comment_listXML.load(loadXML);
//comment_listXML.load("comment_list1.xml");
comment_listXML.onLoad = function(success) {
comment_listNode = this.firstChild.childNodes;
//trace(comment_listNode);
if (success == false) {
// No
trace("The XML file failed to load");
return;
}
// Check for a malformed XML document
if (this.status != 0) {
trace("The XML document was invalid. Error: "+this.status);
return;
}
// Make sure the first node

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号