前面学过了Accordion组件与表单结合的制作方法,这里我们学习利用as动态动态创建各种对象,设置相关属性,看看该组件与其它组件结合的效果。 看看效果。
好了,下面先做好准备工作。
1、打开flash2004新建一个文档,保存为accordion_2.fla。向主场景拖入一个Accordion组件,命名为myAA。如图:

2、再向主场景拖入组件Tree、Window、ScrollPane,并删除。新建一个mc(里面是一张图片),在连接属性中命名为mym。如图:


3、做一个swf文件命名为mycont.swf(里面是一个美女哟~~~),再把原来的那个xml文件放入该目录下myxml.xml(相关知识见《FlashMX2004组件教程-tree组件(2)》)

一切就绪,下面看看怎样写代码了:)~~~~。在accordion_2.fla主场景的第一帧写入:
var myLabel = ["我的树", "我的窗户", "我的照片"];
var myObject = ["Tree", "Window", "ScrollPane"];
var myO_name = ["mytree", "mywindow", "mysp"];
var a = [];
for (var i = 0; i < myLabel.length; i++) {
a[i] = myAA.createChild(myObject[i], myO_name[i], {label:myLabel[i]});
}
//你可以这时候测试一下,就明白他们的做用了
//tree组件的内容
a[0].setSize(249, 238);
System.useCodepage = true;
myTreeXML = new XML();
myTreeXML.ignoreWhite = true;
myTreeXML.load("myxml.xml");
myTreeXML.onLoad = function(success) {
if (success) {
a[0].dataProvider = myTreeXML;
} else {
mytextArea.text = "No success!!";
}
};
myTreeListener = new Object();
myTreeListener.change = function(溶剂) {
var thedata = 溶剂.target.selectedItem.attributes.data;
var thename = 溶剂.target.selectedItem.attributes.label;
if (thedata.indexOf("http", 0)<>-1) {
getURL(thedata);
} else {
mytextArea.text = thename+":"+thedata;
}
};
a[0].addEventListener("change", myTreeListener);
//以上是tree组件的用法,你可以看看系列教程—Tree组件2的教程
//window组件的内容
a[1].setSize(249, 238);
a[1].title = "看看,这不是我的照片^0^——可以拖动";//标题
b = a[1].createObject("mym", 11, 10);//这就是库里的那个mc
b._x = 20;
b._y = 35;
//以上是window组件的用法,回头我在写个相关教程:)~~
//ScrollPane组件的内容
a[2].setSize(249, 236);
a[2].contentPath = "mycont.swf"
ok!!!!!!!,是不是也是很简单呀~~~哈哈,行动起了做一个看看吧!!