Actionscript 3 在Movieclip或Sprite中存储变量

Actionscript 3 在Movieclip或Sprite中存储变量,actionscript-3,Actionscript 3,如何将数据添加到动态创建的MovieClip/Sprite中,以便稍后在与该MovieClip/Sprite协调的事件中访问数据 示例代码: for(var i:int; i < xml.children(); i++){ var button:MovieClip = new MovieClip(); button.graphics.beginFill(0x000000); button.graphics.drawCircle(100 + 20 * i, 200,

如何将数据添加到动态创建的MovieClip/Sprite中,以便稍后在与该MovieClip/Sprite协调的事件中访问数据

示例代码:

for(var i:int; i < xml.children(); i++){ var button:MovieClip = new MovieClip(); button.graphics.beginFill(0x000000); button.graphics.drawCircle(100 + 20 * i, 200, 10); button.graphics.endFill(); button.addEventListener(MouseEvent.MOUSE_UP, doSomething); button.name = "item_"+i; button.storedData.itemNumber = i; } function doSomething(e:Event):void { trace(e.target.storedData.itemNumber); } for(var i:int;i提前感谢。

幸运的是,在AS3中,MovieClip类被定义为一个动态类(只有电影剪辑是动态的,精灵不是)。在已定义为动态的类中,可以通过标准变量赋值语句向该类的任何实例添加新的动态实例

var myInstance:DynamicClass= new DynamicClass();
myInstance.foo = "hello World"; // this won't cause any compile time errors

trace(myInstance.foo ); //returns hello World
EA-SY^_^

例 现在让我们动态创建几个movieclip,然后更改其中一个的属性

AS2语法:

for(var i:Number = 0; i < 10; i++){
    _root.createEmptyMovieClip("button" + i, _root.getNextHighestDepth());
}
var button:Array = new Array();

for (var i:Number = 0; i < 10; i++) {
    var _mc:MovieClip = new MovieClip();
    addChild(_mc); // in AS3 when you create a MovieClip, it remains in memory and won't be seen on stage until you call addChild(_mc)

    button[i] = _mc;
}
或者通过使用以下命令来动态执行:

this["button" + i]._x = 100;
this["button" + i]._y = 300;
在AS3中,这是完全不同的(有很多方法可以做到)

AS3语法:

for(var i:Number = 0; i < 10; i++){
    _root.createEmptyMovieClip("button" + i, _root.getNextHighestDepth());
}
var button:Array = new Array();

for (var i:Number = 0; i < 10; i++) {
    var _mc:MovieClip = new MovieClip();
    addChild(_mc); // in AS3 when you create a MovieClip, it remains in memory and won't be seen on stage until you call addChild(_mc)

    button[i] = _mc;
}

太棒了,那么我如何在for循环中创建一个动态按钮名,比如button1、button2、button3等等;