设为首页 加入收藏 网站搜索 繁體中文 中国建站网 — 站长资源分享平台

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

来源:136z.Com 作者:佚名 时间:2005-06-21 23:58:03

这个是给一个项目做的,所以可能有些地方因为单独拿出来而缺少,主要给大家讲的是构思

结构为



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=newArray();
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(iinelements){
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 is the node
if (this.firstChild.nodeName.toLowerCase() != "comment_list") {
trace("First node wasn't the expect node.");
return;
}
//trace(comment_listNode.length);
for(i=0;iif(comment_listNode[i].nodeName == "page_info"){
get_page_info(comment_listNode[i].childNodes);
}
if(comment_listNode[i].nodeName == "comment_info"){
get_comment_info(comment_listNode[i].childNodes);
}
}
};
//set function
function getInfo (mc, elementsArray){
assoc = new Object();//create a new object which associate the commentArray and templateMC
for(e=0;e
if (elementsArray[e].name == "titles") {
assoc.titles = {ref:elementsArray[e].obj, dist:elementsArray[i].distance};
}else if(elementsArray[e].name == "titleBG"){
assoc.titleBG = {ref:elementsArray[e].obj, dist:elementsArray[i].distance};
}else if(elementsArray[e].name == "contentOfMask"){
assoc.contentOfMask = {ref:elementsArray[e].obj, dist:elementsArray[i].distance};
}else if(elementsArray[e].name == "contents"){
assoc.contents = {ref:elementsArray[e].obj, dist:elementsArray[i].distance};
}else if(elementsArray[e].name == "contentBG"){
assoc.contentBG = {ref:elementsArray[e].obj, dist:elementsArray[i].distance};
}else if(elementsArray[e].name == "arrows"){
assoc.arrows = {ref:elementsArray[e].obj, dist:elementsArray[i].distance};
}else if(elementsArray[e].name == "authorip"){
assoc.authorip = {ref:elementsArray[e].obj, dist:elementsArray[i].distance};

[1] [2] [3] [4]  下一页

Tags:

  • 好的评价 如果您觉得好,就请您
      0%(0)
  • 差的评价 如果您觉得差,就请您
      0%(0)
  • 相关文章
    广告赞助

    文章随便看看 设计素材 建站学院 网页模板 视频教程

    网友评论

    共有 0 位网友发表了评论,得分 0 分,平均 0 分    查看完整评论

    用户名: 查看更多评论

    分 值:100分 85分 70分 55分 40分 25分 10分 1分

    内 容:

             通知管理员 验证码: