flash2004的发布给flash爱好者带来了新的惊喜。其中编程功能得到了巨大的扩展,使得热衷于flash编程的爱好者看到了新的曙光(flash2004不仅是动画制作的软件,更成为后台制作的软件)。而且其中的组件制作的相当精美,有效的利用这些组件可以在短时间内作出不凡的效果。
要想理解tree组件中编程的代码,还需要两个的关键的东东必须要懂一些:
1.组件事件侦听器
你可以看看帮助,在这里我可以举个简单的例子:
拖入一个TextArea组件,命名为mytxt,并将下列代码置于第一帧中:
代码:
listenerObject = {}; listenerObject.change = function(溶剂) { var h = 溶剂.target.text; trace("你输入的文本是:"+newline+h); }; mytxt.addEventListener("change", listenerObject); | |
2.xml的有关知识
要知道xml的结构形式,什么是节点等等~~~~(反正我也不熟,所以在这里就不说什么了。如果你想了解的话,请看相关的内容。帮助里有一些~~~)
废话少说,下面来看看其中的tree组件的用法。
效果图:

首先,打开flash2004,从组件窗口拖一个tree到舞台,然后建立一个动态文本。如图:
分别在属性面板中设置名字。如图:

一切准备就绪,接下来就要写入代码了。在时间轴的第一帧写入:
代码:
//建立组件添加监听
l_Object = new Object();
l_Object.change = function(myObject) {
var urlname = myObject.target.selectedItem.attributes.label;//得到组件中的label标签的数据
var url = myObject.target.selectedItem.attributes.data;//得到组件中的data标签的数据
mymsg.text = "欢迎你到——------"+urlname+"-----";
getURL(url,_blank)
};
//给tree组件添加监听
myTree.addEventListener("change", l_Object);
//下面用循环的方法建立xml的节点
var myTreeXML = new XML();//新建一个xml对象
var myweb = ["闪式天下", "闪吧", "闪客天地", "闪客帝国"];
var myurl = ["http://www.mcmx.com", "http://www.flashempire.com",
"http://www.flash8.net", "http://www.flashsky.com"];
for (var i = myweb.length-1; i>=0; i--) {
myTreeXML.addTreeNode(myweb[i], myurl[i]);
}//建立了4个节点,其中label标签的值为myweb[i],data标签的值为myurl[i]
var myTreeNode = new Array();
for (var i = myweb.length-1; i>=0; i--) {
myTreeNode[i] = myTreeXML.childNodes[i];
}//获得myTreeXML的节点,用数组的形式返回
//下面就闪式天下为主,介绍tree组件的数据添加。
//根据论坛的结构而定
var mcbbs = ["涂鸦旧墙", "歌音起点", "互动教程", "闪式搜猪", "闪式论坛"];
var mcbbsurl = ["http://www.mcmx.com/poopainter/poo/index.asp",
"", "http://www.mcmx.com/Board/BoardMM.asp?BoardID=888",
"http://www.mcmx.com/flashsearch/flashsearch.asp", "http://www.mcmx.com/Boards.asp"];
var mcBS = ["闪式娱乐设施", "闪式技术专栏", "闪式天下专区"];//闪式论坛中的子目录
var mcBSurl = ["http://www.mcmx.com/Boards.asp?Assort=1", "http://www.mcmx.com/Boards.asp?Assort=2",
"http://www.mcmx.com/Boards.asp?Assort=3"];
for (var i = mcbbs.length-1; i>=0; i--) {
myTN = myTreeNode[3].addTreeNode(mcbbs[i], mcbbsurl[i]);
if (i == mcbbs.length-1) {
for (var n = mcBS.length-1; n>=0; n--) {
myTN.addTreeNode(mcBS[n], mcBSurl[n]);//给闪式论坛添加子目录
//闪式天下的数据添加结束
}
}
}
//下面的是随便加的
var empirebbs = ["solventsky", "solventsky", "solventsky", "solventsky", "solventsky"];
var empireurl = ["http://www.ayyz.net/grzy/sbg/access/index.asp"];
for (var i = empirebbs.length-1; i>=0; i--) {
myTreeNode[2].addTreeNode(empirebbs[i], empireurl);
}
var f8bbs = ["solventsky", "solventsky", "solventsky", "solventsky", "solventsky"];
var f8bbsurl = ["http://www.ayyz.net/grzy/sbg/access/index.asp"];
for (var i = f8bbs.length-1; i>=0; i--) {
myTreeNode[1].addTreeNode(f8bbs[i], f8bbsurl);
}
var skybbs = ["solventsky", "solventsky", "solventsky", "solventsky", "solventsky"];
var skybbsurl = ["http://www.ayyz.net/grzy/sbg/access/index.asp"];
for (var i = skybbs.length-1; i>=0; i--) {
myTreeNode[0].addTreeNode(skybbs[i], skybbsurl);
}
//为组件myTree添加数据源
myTree.dataProvider = myTreeXML;
//ok!
把上面的完成,你就可以测试了~~~~,怎样,不错吧………哈哈~~,就这样结束吧。
效果预览:
总结一下
1.学会组件事件侦听器的添加。
2.知道如何向tree组件中添加数据。