确定分配给数组 AS3 中的变量的影片剪辑

Determining the movieclip assigned to a variable in an array AS3

请原谅我的术语,我没有受过适当的教育。

假设我有多个动画片段变量

var rblock1:MovieClip = new Rblock();
var rblock2:MovieClip = new Rblock();
var rblock3:MovieClip = new Rblock();
var yblock1:MovieClip = new Yblock();
var yblock2:MovieClip = new Yblock();
var yblock3:MovieClip = new Yblock();

我已将它们添加到数组中

var blockarray:Array = new Array(rblock1, rblock2, rblock3, yblock1, yblock2, yblock3);
var block

我想创建一个带有 if 语句的 for 循环,如果变量是 Rblock 而不是 Yblock,例如

for each (block in blockarray)
{ 

    if (block==Rblock)
    { 
         trace("rblock");
    }

}

问题是显然 "if (block==Rblock)" 不起作用。 这个应该怎么写?

我找到了一个不是真正完美的解决方案,它只适用于某些场景...

如果每个 class 都有一个独特的特征,您可以通过这种方式识别它,例如...

如果 Rblock class 定义的所有变量都比 Yblock class 宽,你可以说

if (block.width>x) { trace(Rblock); }

就像我说的,这只是一个解决方法,并且只适用于由 classes 定义的不同的电影剪辑变量,如果有人有实际的解决方案,请 post

您显然想通过检查方块的 class 名称 来检查方块是红色还是黄色。你可以这样做:

if (block is Rblock) {...} // yes, red