actionscript-3 - AS3 从父类的类中删除数组中的所有子项

标签 actionscript-3 oop actionscript

在级别 1 类(父类)中,我将公民生成为单独的对象 (c),以便从左侧或右侧穿过舞台。所有这些都被添加到一个名为 citizens 的数组中:

if (citizens.length < 10)
        {
            // create citizen
            var c:Citizen = new Citizen(side,speed,yPos);
            addChildAt(c, 2);
            citizens.push(c);
        }

我想删除类的每个实例,并删除类中附加到它的事件监听器:

this.addEventListener(Event.ENTER_FRAME,moveCitizen);

我会使用一个 for each then 从数组中拼接吗? E.G

for each (c in citizens) {
removeEventListener(Event.ENTER_FRAME,moveCitizen);
splice();
}

最佳答案

您可以执行类似以下操作:

// Creation
if (citizens.length < 10) {        
    // create citizen
    var c:Citizen = new Citizen( side, speed, yPos );
    addChildAt( c, 2 );
    citizens.push( c );
}

// Removal 
for( var i:int = 0; i < citizens.length; i++ ) {
    var c:Citizen = citizens[ i ].pop();
    removeChild( c )
    c.cleanUp();
}

// In Class Citizen
public function cleanUp():void {
    removeEventListener( Event.ENTER_FRAME, moveCitizen );
}

关于actionscript-3 - AS3 从父类的类中删除数组中的所有子项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14069001/

相关文章:

actionscript-3 - ActionScript/AIR - 在运行时确定设备配置文件?

actionscript-3 - 定制线帽?

flash - Google 如何读取 SWFAddress 深层路径?

c# - 如何分解我的代码行?

actionscript-3 - 将SWF打包成EXE或APP

java - 何时创建辅助方法和单独的文件

java - 让Java中的方法返回在内部类中初始化的变量

java - 具有不同对象参数的重载构造函数

flash - Flash ActionScript 可以读写本地文件系统吗?

arrays - 如何在AS3中向数组添加元素?