Actionscript 3 计算as3中阶段上特定类的实例数

Actionscript 3 计算as3中阶段上特定类的实例数,actionscript-3,class,instance,Actionscript 3,Class,Instance,是否有人知道如何在我的案例Ball.as中获得特定类的实例数,就像目前在舞台上一样 注意:我想要一个解决方案,不包括使用numChildren,然后通过所有子对象循环,因为我想要每个enterFrame的球数,这样循环可能会使我的代码更重 有什么建议吗?我不认为有办法绕过循环 当我有任何大小的Actionscript项目时,我将创建一个静态管理器类,该类将处理所有应用程序范围的变量。您可以在其中创建一个数组,并在创建新的ball实例时添加/删除该数组。我认为没有办法绕过循环 当我有任何大小的Ac

是否有人知道如何在我的案例Ball.as中获得特定类的实例数,就像目前在舞台上一样

注意:我想要一个解决方案,不包括使用numChildren,然后通过所有子对象循环,因为我想要每个enterFrame的球数,这样循环可能会使我的代码更重


有什么建议吗?

我不认为有办法绕过循环


当我有任何大小的Actionscript项目时,我将创建一个静态管理器类,该类将处理所有应用程序范围的变量。您可以在其中创建一个数组,并在创建新的ball实例时添加/删除该数组。

我认为没有办法绕过循环

当我有任何大小的Actionscript项目时,我将创建一个静态管理器类,该类将处理所有应用程序范围的变量。您可以在其中创建一个数组,并在创建新的ball实例时添加/删除该数组。

a对它们进行计数 c隔离它们 数一数 c隔离它们
您可以在类中使用静态变量来跟踪,但这意味着您必须始终正确地跟踪此变量,否则可能会导致错误计数

public static var count:int = 0;


public Ball() {
   addEventListener(Event.ADDED, onAdded);   
   addEventListener(Event.REMOVED, onRemoved);
}

private function onAdded(event:Event):void {
   removeEventListener(Event.ADDED, onAddeed);
   Ball.count++;
}

private function onRemoved(event:Event):void{
   removeEventListener(Event.REMOVED, onRemoved);
   Ball.count--;
}
然后当你想数一数的时候:

trace(Ball.count);

您可以在类中使用静态变量来跟踪,但这意味着您必须始终正确地跟踪此变量,否则可能会导致错误计数

public static var count:int = 0;


public Ball() {
   addEventListener(Event.ADDED, onAdded);   
   addEventListener(Event.REMOVED, onRemoved);
}

private function onAdded(event:Event):void {
   removeEventListener(Event.ADDED, onAddeed);
   Ball.count++;
}

private function onRemoved(event:Event):void{
   removeEventListener(Event.REMOVED, onRemoved);
   Ball.count--;
}
然后当你想数一数的时候:

trace(Ball.count);

他特别地说他不希望这个解决方案涉及到通过儿童的循环,所以a不是一个好的解决方案。他特别地说他不希望这个解决方案涉及到通过儿童的循环,所以a不是一个好的解决方案。啊,这是有史以来最好的解决方案。我确实有一个类游戏。至于所有静态的东西,但从来没有想过这一点。但是它怎么会在计数上出错呢?@ZeeshanAhmad抱歉,我的意思是在添加和删除球时必须正确地更新变量-我发布的代码应该正确地更新变量,因为它侦听添加和删除的事件。啊,这是有史以来最好的解决方案。我确实有一个类游戏。至于所有静态的东西,但从来没有想过这一点。但是它怎么会在计数上出错呢?@ZeeshanAhmad抱歉,我的意思是在添加和删除球时必须正确地更新变量-我发布的代码应该正确地进行更新,因为它侦听添加和删除的事件。
trace(Ball.count);