チェンジセット 305

差分発生行の前後
無視リスト:
コミット日時:
2008/03/26 01:58:03 (4 年前)
コミッタ:
fladdict
ログメッセージ:

sketchbookとのライブラリ依存性をなくす為に、FrameWaitCommand?でのEvent.ENTER_FRAME受信方式を変更。 以後、FrameWait?使用時にはFrameWaitCommand?.enterFrameBeacon プロパティで、enterFrameの発信元を設定する必要がある。

ファイル:

凡例:

変更無し
追加
削除
更新
コピー
移動
  • as3/Commands/src/commands/FrameWaitCommand.as

    r304 r305  
    33        import flash.events.Event; 
    44        import flash.display.Stage; 
     5        import flash.events.IEventDispatcher; 
    56         
    67        /** 
     
    1011        public class FrameWaitCommand extends CommandBase 
    1112        { 
    12                 protected var maxCount:int 
    1313                protected var count:int 
    1414                 
    15                 public static var stage:Stage 
     15                //onEnterFrameを受信する為に、enterFrameを発信できるクラスを渡す必要がある 
     16                public static var enterFrameBeacon:IEventDispatcher 
    1617                 
    1718                public function FrameWaitCommand( count:int ) 
    1819                { 
    19                         this.count = maxCount = count; 
     20                        this.count = count; 
    2021                } 
    2122                 
    2223                override public function execute():void 
    2324                { 
    24                         if(!stage
    25                                 throw new Error("FrameWaitCommand.stage should be set before you use FrameWaitCommand.execute"); 
    26                         stage.addEventListener(Event.ENTER_FRAME, _enterFrameHandler, false, 0, true); 
     25                        if(!enterFrameBeacon
     26                                throw new Error("FrameWaitCommand.enterFrameBeacon should be set to receive Event.ENTER_FRAME"); 
     27                        enterFrameBeacon.addEventListener(Event.ENTER_FRAME, _enterFrameHandler, false, 0, true); 
    2728                } 
    2829                 
     
    3132                { 
    3233                        if(count<=0){ 
    33                                 stage.removeEventListener(Event.ENTER_FRAME, _enterFrameHandler); 
     34                                IEventDispatcher(e.target).removeEventListener(e.type, arguments.callee); 
    3435                                this.dispatchComplete();         
    3536                        }