确定分配给数组AS3中的变量的动画片段

时间:2018-11-26 02:35:49

标签: arrays for-loop actionscript-3

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

让我们说我有多个movieclip变量

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)”不起作用。 应该怎么写?

2 个答案:

答案 0 :(得分:1)

您显然想通过检查其类名来检查块是红色还是黄色。您可以这样:

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

答案 1 :(得分:0)

我想出了一个解决方案,它并不是一个完美的解决方案,它仅适用于某些情况...

如果每个班级都有一个独特的特征,您可以用这种方式来识别它,例如...

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

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

就像我说的那样,这只是一种解决方法,并且仅适用于由不同类定义的movieclip变量,如果有人有实际的解决方案,请发布