请原谅我的术语,我没受过适当的教育。
让我们说我有多个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)”不起作用。 应该怎么写?
答案 0 :(得分:1)
您显然想通过检查其类名来检查块是红色还是黄色。您可以这样:
if (block is Rblock) {...} // yes, red
答案 1 :(得分:0)
我想出了一个解决方案,它并不是一个完美的解决方案,它仅适用于某些情况...
如果每个班级都有一个独特的特征,您可以用这种方式来识别它,例如...
如果Rblock类定义的所有变量都比Yblock类宽,您可以说
if (block.width>x) { trace(Rblock); }
就像我说的那样,这只是一种解决方法,并且仅适用于由不同类定义的movieclip变量,如果有人有实际的解决方案,请发布