确定分配给数组 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
请原谅我的术语,我没有受过适当的教育。
假设我有多个动画片段变量
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