チェンジセット 543

差分発生行の前後
無視リスト:
コミット日時:
2008/05/30 01:24:22 (6 ヶ月前)
コミッタ:
yossy
ログメッセージ:

Thread(soumen): 特殊プロパティ show / hide 使用時に Tweener がエラーを吐く問題を修正。ついでにサンプル追加。

ファイル:

凡例:

変更無し
追加
削除
更新
コピー
移動
  • as3/Thread/branches/soumen/Thread.as3proj

    r538 r543  
    6666  <!-- Class files to compile (other referenced classes will automatically be included) --> 
    6767  <compileTargets> 
    68     <compile path="tests\RunTests.as" /> 
     68    <compile path="samples\tweener\Sample2.as" /> 
    6969  </compileTargets> 
    7070  <!-- Paths to exclude from the Project Explorer tree --> 
  • as3/Thread/branches/soumen/src/org/libspark/thread/threads/tweener/TweenerThread.as

    r536 r543  
    4343                        _target = target; 
    4444                        _args = args; 
     45                        _specialArgs = splitSpecialArgs(args); 
    4546                        _monitor = new Monitor(); 
    4647                         
     
    5051                private var _target:Object; 
    5152                private var _args:Object; 
     53                private var _specialArgs:Object; 
    5254                private var _monitor:IMonitor; 
     55                 
     56                private function splitSpecialArgs(args:Object):Object 
     57                { 
     58                        var result:Object = new Object(); 
     59                         
     60                        moveSpecialArg('show', args, result); 
     61                        moveSpecialArg('hide', args, result); 
     62                         
     63                        return result; 
     64                } 
     65                 
     66                private function moveSpecialArg(name:String, from:Object, to:Object):void 
     67                { 
     68                        if (name in from) { 
     69                                to[name] = from[name]; 
     70                                delete from[name]; 
     71                        } 
     72                } 
    5373                 
    5474                override protected function run():void 
    5575                { 
    56                         if ('show' in _args && _args.show) { 
     76                        if ('show' in _specialArgs && _specialArgs.show) { 
    5777                                if (_target is DisplayObject) { 
    5878                                        DisplayObject(_target).visible = true; 
     
    7999                private function completeHandler():void 
    80100                { 
    81                         if ('hide' in _args && _args.hide) { 
     101                        if ('hide' in _specialArgs && _specialArgs.hide) { 
    82102                                if (_target is DisplayObject) { 
    83103                                        DisplayObject(_target).visible = false;