1

我正在制作一个基于图块的游戏,ta_*(number)*ca_*(number)*行为类似于垃圾箱。你将东西拖向它并放下。但是级别可能会放几个这样的瓷砖。

我不会做类似的事情:

if (my_mc.hitTestObject(ta_0) || my_mc.hitTestObject(ta_1) || my_mc.hitTestObject(ta_2).........)

因为有些可能不存在并向我抛出错误,我不想像数百个一样。

有没有办法在舞台上找到以名称“ta_”和“ca_”开头的电影剪辑?

这样我就可以得到:ta_1ta_2.....?

4

1 回答 1

0

不,你不能。除非你循环getChildAt()并检查所有孩子的名字。

但是,为什么在创建它们时不将它们添加数组中呢?
(我假设你动态创建它们)

var myBinArray:Array = new Array(10);

for (var i:int = 0; i < myBinArray.length; i++)
{
    var myBin = new Bin();
    myBinArray[i] = myBin;
}

然后你只需在你的数组上循环:

for (var i:int = 0; i < myBinArray.length; i++)
{
    if (mybinArray[i] != null)
        if (my_mc.hitTestObject(mybinArray[i])
        {
            // statements
            // and here I assume you want to break for loop
        }
}
于 2013-05-22T08:10:59.197 回答