我想知道是否有一种简单的方法可以让所有孩子同时做某事。特别是,我希望我舞台上的一切都像地震一样来回摇晃。在舞台上挑出所有内容并添加正确的代码有点困难,因为在特定时间我并不总是知道舞台上的孩子数量。
另外,我不确定它是否会有所不同,但有时当我添加孩子的东西时,我不会特意把它添加到舞台上......就像我会做的几个按钮一样this.addChild(mybutton)
。我不知道是否有办法访问已 addChilded 的所有内容,即使我可能没有将它们直接添加到舞台上?我很确定numChildren
返回屏幕上对象数量的值,但我可能是错的......
我正在考虑做类似的事情
在我的循环中
if (numChildren >= 10 && nukeShakeTimer.currentCount == 0)
{
nukeShakeTimer.start();
}
if (nukeShakeTimer.currentCount > 0)
{
NukeShake();
}
NukeShake
public function NukeShake():void
{
numberChildren = numChildren;
trace(numberChildren);
while (numberChildren > 0)
{
var tempObject:Object = getChildAt(numberChildren)
if (nukeShakeTimer.currentCount % 2 == 1)
{
tempObject.x += 10;
}
if (nukeShakeTimer.currentCount % 2 == 0)
{
tempObject.x -= 10;
}
numberChildren -= 1;
}
if (nukeShakeTimer.currentCount > 30)
{
nukeShakeTimer.reset();
}
}
但是,当我尝试此操作时,我收到该行的运行时错误,var tempObject:Object = getChildAt(numberChildren)
并且错误显示为RangeError: Error #2006: The provided index is out of bounds。
此外,我觉得不使用 while 循环可以更快地执行此操作,但也许不是。请帮忙,谢谢!