0

どうすれば、親の内側にactionListener耳を傾ける を子供に持たせることができますか?TimerEvent

4

1 に答える 1

3

親のタイマーが作動したときに、それぞれの子で関数を呼び出さないのはなぜですか? IHaveTickingParent基本的には、次のように、特定の機能を持つ作成したインターフェイスを子に実装させるだけです (これを と呼びましょう)。

[IHaveTickingParent.as]

public interface IHaveTickingParent
{
    function onParentTick(event:TimerEvent):void;
}

[HaveTickingParentImpl.as]

public class HaveTickingParentImpl /* extends XYZ */ implements IHaveTickingParent
{
    public function onParentTick(event:TimerEvent):void
    {
    }
}

そして、親の TimerEvent ハンドラーで、次の行に沿って何かを行うだけです。

for(var i:int = 0; i < numChildren; i++)
{
    var child:DisplayObject = getChildAt(i);

    if(child is IHaveTickingParent)
    {
        // Make children update as well.
        (child as IHaveTickingParent).onParentTick(event);
    }
}
于 2012-09-26T01:17:54.137 に答える