FLASH AS教程_解决for (i=1; i<4; i++)
有三个元件,实例名为,a1 a2 a3,同时执行goto命令。
我在网上找了下,写了下面的代码,可是没有达到目的。trace值是 a1 a2 a3 .
请懂得人帮我看看,是什么错误。。。
var my = new Array();
for (i=1; i<4; i++) {
my = ["a"+i];
my.onRollOver = function() {
gotoAndStop(2);
};
trace(my);
}
传个源文件看看到底是什么问题。。。
解决方法
ever5u 的代码在goto少了个this所以不能跳转帧。leovi 的 eval 在帮助里说Flash 5以后又更合理的函数了。综合前两位的我改了下自己的,就可以了。
chiyuderen 的代码没有起作用,估计是那个push的原因了。
wsjlwc2234 的代码可以实现(goto少了个 d加上就ok了)但是看起来好多阿。不过似乎很规范每个变量都声明了。虽然我看着感觉多余。。
以上四位给了我很多启发。也终于学会用for和i++了,虽然很基础。。。谢谢你们了。culapicar 也要谢谢你,虽然没有说怎么改,但也让我知道了我的错误在什么地方。
谢谢各位了~~
改好的代码为:
var my = new Array();
for (i=1; i<4; i++) {
my = this["btn"+i];
my.onRollOver = function() {
this.gotoAndStop(2);
};
my.onRollOut = function() {
this.gotoAndStop(1);
};
//trace(my);
}