AS3 TimerEvents - 侦听父定时器事件的子节点

时间:2012-09-26 00:25:12

标签: actionscript-3

如何让我的孩子有actionListener听父母内部的TimerEvent

1 个答案:

答案 0 :(得分: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);
    }
}