作者aquarianboy (我是没牌的营养师!)
看板Flash
标题Re: [问题] as3 动态名称的问题
时间Fri Jul 10 18:36:00 2009
※ 引述《ADRIA (闭区里)》之铭言:
: var load_save:Loader=new Loader;
: show_pic.addChild(load_save);
: var i:Number;
: var load1:URLRequest=new URLRequest("01.jpg");
: trace(load1.url);//test url
: var mcXArr:Array=new Array(1, 2, 3);
: for (i=1; i<=mcXArr.length; i++) {
: function click1(event:MouseEvent) {
: load_save.load(load1);
: }
: btn1.addEventListener(MouseEvent.CLICK,click1);
: this["btn"+i].buttonMode=true;
: }
程式会大概长这样(程式码没测试过,也许有错)
for (var i:uint = 0; i < 3; i++)
{
// 设定按钮listener
this["btn" + (i+1)].addEventListener(MouseEvent.CLICK,clickHandler);
// 设定buttonMode
this["btn" + (i+1)].buttonMode = true;
}
function clickHandler(evt:MouseEvent)
{
// load external images here
trace(evt.target.name + " was clicked!");
}
从你原来程式码的用途看起来,event handler应该是在回圈外面的
如果你知道档案是照数字排的话,mcXArr可以省下来
另外,变数i应该是不用特别宣告在外面,看起来它在for loop结束後就用不到了
原来程式码需要修正的观念不少,建议找本书详读一下基本语法的部份
不然只知其然而不知其所以然,写起来会挺痛苦的喔 :)
--
http://blog.eddie.com.tw/
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.132.128.37
1F:→ aquarianboy:赚P币用的文章 07/10 18:39
2F:→ ADRIA:感谢!~~我会去找本书来详读 07/10 21:49