どうすれば、親の内側にactionListener
耳を傾ける を子供に持たせることができますか?TimerEvent
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 に答える