すべての子供たちに同時に何かをさせる簡単な方法があるかどうか疑問に思っています。特に、ステージ上のすべてが地震のように前後に揺れることを望んでいます。ステージ上のすべての子供たちを特定して適切なコードを追加するのは少し難しいです。ステージ上の子供たちの数を常に把握しているわけではないからです。
また、それが違いを生むかどうかはわかりませんが、何かをaddChildするとき、ステージに追加するのに邪魔にならないことがあります.いくつかのボタンのようにthis.addChild(mybutton)
. ステージに直接追加していなくても、addChilded されたすべてのものにアクセスする方法があるかどうかわかりません。numChildren
画面上のオブジェクトの数の値を返すと確信していますが、間違っている可能性があります...
私は何かをすることを考えていました
私のループの中で
if (numChildren >= 10 && nukeShakeTimer.currentCount == 0)
{
nukeShakeTimer.start();
}
if (nukeShakeTimer.currentCount > 0)
{
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();
}
}
これを試してみると、行の実行時エラーが発生し、RangeError: Error #2006: The provided index is out of bound.var tempObject:Object = getChildAt(numberChildren)
というエラーが表示されます。
また、while ループを使用せずにこの操作をはるかに高速に実行できるように感じますが、そうではないかもしれません。助けてください、ありがとう!