FlashMX2004组件教程-tree组件(一)


  来源:不详 | 作者: | 浏览: | 发送给好友 | 添加到收藏夹

    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组件中添加数据。

上一篇
会员名称:
密码:匿名 ·注册·忘记密码?
评论内容:
(最多300个字符)
  查看评论
闪动论坛 打印此页 发送给好友 返回顶部