发布网友 发布时间:2024-10-23 17:13
共3个回答
热心网友 时间:2024-11-02 01:54
actionscript读取XML你会了吧?这个我就不说了,属于另外一个话题了。
当你从XML中动态读取出所有的URL时,把它放入两个arraylist里去。
比如 name[0]~name[199], url[0]~url[199]。
然后你先做好一个按钮的图形(我以方块为例)。用plicatemovieclip复制,用url.length循环。具体方法参考下面:
1。在舞台第一帧,花一个正方形,作为按钮。F8键 -> 转成影片剪辑(movieclip)。为了方便,影片剪辑的实例名叫"mc_button"
2。双击这个影片剪辑,进入影片剪辑的编辑状态,新建一个图层,在方块上层。
3。在新的图层中,加入一个动态文本,大小和按钮一样大,居中,字体什么的你自己控制好了。然后把这个动态文本框起个实例名,叫button_text。记住:不是变量名,而是实例名。
4。然后回到主场景第一帧,选中第一帧,按F9进入AS界面,输入以下程序:
//读取xml的过程省略,假设现在已经有name[]和url[]两个array变量了。
plicateMovieClip(mc_button,"button0",getNextHeighestDepth());
button0._x = mc_button._x;
button0._y = 30;
button0.button_text.text = name[0];//按钮上显示的字
this.["button"+i].onRelease = function{
_parent.gotoAndPlay(url[0]);
//这只是举个例子,如果要调用网页的话则是另外的语句
}
for(i=1;i<url.length;i++){
j = i - 1;
plicateMovieClip(mc_button,name[i],getNextHeighestDepth());
this.["button"+i]._x = mc_button._x; //假设按钮从上到下
this.["button"+i]._y = this.["button"+j]._y;
//假设按钮比上一个按钮低30像素
this.["button"+i].button_text.text = name[i];//按钮上显示的字
this.["button"+i].onRelease = function{
_parent.gotoAndPlay(url[i]);
//这只是举个例子,如果要调用网页的话则是另外的语句
}
//最后,将mc_button设为不可见
mc_button.visible = false;
}
以上程序是建立在你已经读取了xml的基础上的。否则以上程序无法运行。
如果有什么问题可以加我Q:17424317,注明百度知道的flash问题。
热心网友 时间:2024-11-02 01:55
用数组+循环
热心网友 时间:2024-11-02 01:55
btn_num=2
var url:Array=new Arra("http://www.baidu.com","http://www.baidu.com")
//注意,库中需要有个按钮连接名为btn
for(var i =0;i<btn_num;i++){
this.attachMovie("btn","btn"+i,i)
this["btn"+i].url=url[i]
this["btn"+i].onRelease=function{
getURL(this.url,"_blank")
}
}