我只是在使用 Flash CS3 Pro 玩基本的 ActionScript 3。
我在关键帧中放入了这个非常简单的代码来复制 n 个“brander”符号:
for (var i:Number=0; i<20; i++) {
var m = new brander("MS_"+i);
addChild(m);
m.name = "MS_"+i;
m.x = 20*i;
m.alpha = a;
a-=0.05;
m.y = 20;
}
该符号链接到brander.as 类。
课程是这样的:
package {
import flash.display.*;
public class brander extends MovieClip {
var n:String;
//
public function brander(name) {
setName(name);
}
//
function setName(name) {
this.n = name;
}
//
function getName() {
return n;
}
}
}
它也很简单。
现在:我注意到我不能在这个类中设置任何东西。因此,当我调用 setName (在创建“brander”实例时)时,我没有设置任何内容。这可能吗?
我在没有调试的情况下进行了测试,只需编写:
btn.addEventListener(MouseEvent.MOUSE_DOWN, test);
//
function test(EVT) {
trace(this.getChildByName("MS_2").getName());
}
当这个类不能存储信息时,为什么我们要链接一个类?我究竟做错了什么?
编辑:
我发现这是有效的:
function fun(EVT) {
trace((this.getChildByName("M_2") as brander).getName());
}
但我不明白为什么:你能告诉我为什么吗?