チェンジセット 3009

差分発生行の前後
無視リスト:
コミット日時:
2009/08/11 03:20:09 (3 年前)
コミッタ:
yossy
ログメッセージ:

BetweenAS3(ba): Added physical easing support.

ファイル:

凡例:

変更無し
追加
削除
更新
コピー
移動
  • as3/BetweenAS3/branches/dramatic-before-after/src/fp10/org/libspark/betweenas3/BetweenAS3.as

    r3008 r3009  
    3131        import flash.display.DisplayObjectContainer; 
    3232        import org.libspark.betweenas3.core.easing.IEasing; 
     33        import org.libspark.betweenas3.core.easing.IPhysicalEasing; 
    3334        import org.libspark.betweenas3.core.ticker.ITicker; 
    3435        import org.libspark.betweenas3.core.tweens.actions.AddChildAction; 
     
    4445        import org.libspark.betweenas3.core.tweens.IITween; 
    4546        import org.libspark.betweenas3.core.tweens.ObjectTween; 
     47        import org.libspark.betweenas3.core.tweens.PhysicalTween; 
    4648        import org.libspark.betweenas3.core.updaters.BezierUpdater; 
    4749        import org.libspark.betweenas3.core.updaters.display.DisplayObjectUpdater; 
     
    5153        import org.libspark.betweenas3.core.utils.ClassRegistry; 
    5254        import org.libspark.betweenas3.easing.Linear; 
     55        import org.libspark.betweenas3.easing.Physical; 
    5356        import org.libspark.betweenas3.tickers.EnterFrameTicker; 
    5457        import org.libspark.betweenas3.tweens.IObjectTween; 
     
    225228                 
    226229                /** 
     230                 * 新しい物理トゥイーンを作成します. 
     231                 *  
     232                 * @param       target  トゥイーンの対象となるオブジェクト 
     233                 * @param       to      トゥイーンの終了値 
     234                 * @param       from    トゥイーンの開始値 
     235                 * @param       easing  トゥイーンに使用するイージング 
     236                 * @return      作成されたトゥイーン 
     237                 */ 
     238                public static function physical(target:Object, to:Object, from:Object = null, easing:IPhysicalEasing = null):IObjectTween 
     239                { 
     240                        var tween:PhysicalTween = new PhysicalTween(_ticker); 
     241                        tween.updater = _updaterFactory.create(target, to, from); 
     242                        tween.easing = easing || Physical.exponential(); 
     243                        trace(tween.duration); 
     244                        return tween; 
     245                } 
     246                 
     247                /** 
     248                 * 新しい物理トゥイーンを作成します. 
     249                 *  
     250                 * @param       target  トゥイーンの対象となるオブジェクト 
     251                 * @param       to      トゥイーンの終了値 
     252                 * @param       easing  トゥイーンに使用するイージング 
     253                 * @return      作成されたトゥイーン 
     254                 */ 
     255                public static function physicalTo(target:Object, to:Object, easing:IPhysicalEasing = null):IObjectTween 
     256                { 
     257                        var tween:PhysicalTween = new PhysicalTween(_ticker); 
     258                        tween.updater = _updaterFactory.create(target, to, null); 
     259                        tween.easing = easing || Physical.exponential(); 
     260                        return tween; 
     261                } 
     262                 
     263                /** 
     264                 * 新しい物理トゥイーンを作成します. 
     265                 *  
     266                 * @param       target  トゥイーンの対象となるオブジェクト 
     267                 * @param       from    トゥイーンの開始値 
     268                 * @param       easing  トゥイーンに使用するイージング 
     269                 * @return      作成されたトゥイーン 
     270                 */ 
     271                public static function physicalFrom(target:Object, from:Object, easing:IPhysicalEasing = null):IObjectTween 
     272                { 
     273                        var tween:PhysicalTween = new PhysicalTween(_ticker); 
     274                        tween.updater = _updaterFactory.create(target, null, from); 
     275                        tween.easing = easing || Physical.exponential(); 
     276                        return tween; 
     277                } 
     278                 
     279                /** 
     280                 * 指定されたオブジェクトに物理トゥイーンの値を適用します. 
     281                 *  
     282                 * @param       target  対象となるオブジェクト 
     283                 * @param       to      トゥイーンの終了値 
     284                 * @param       from    トゥイーンの開始値 
     285                 * @param       applyTime       適用する時間 
     286                 * @param       easing  トゥイーンに使用するイージング 
     287                 */ 
     288                public static function physicalApply(target:Object, to:Object, from:Object = null, applyTime:Number = 1.0, easing:IPhysicalEasing = null):void 
     289                { 
     290                        var tween:PhysicalTween = new PhysicalTween(_ticker); 
     291                        tween.updater = _updaterFactory.create(target, to, from); 
     292                        tween.easing = easing || Physical.exponential(); 
     293                        tween.update(applyTime); 
     294                } 
     295                 
     296                /** 
    227297                 * 指定さたトゥイーンを結合して、同時に実行するトゥイーンを作成します. 
    228298                 *  
  • as3/BetweenAS3/branches/dramatic-before-after/src/fp10/org/libspark/betweenas3/core/tweens/IIObjectTween.as

    r2994 r3009  
    2828package org.libspark.betweenas3.core.tweens 
    2929{ 
     30        import org.libspark.betweenas3.core.easing.IEasing; 
    3031        import org.libspark.betweenas3.core.updaters.IUpdater; 
    3132        import org.libspark.betweenas3.tweens.IObjectTween; 
     
    4950                 
    5051                /** 
     52                 * このトゥイーンで使用するイージングを設定します. 
     53                 */ 
     54                function get easing():IEasing; 
     55                 
     56                /** 
     57                 * @private 
     58                 */ 
     59                function set easing(value:IEasing):void; 
     60                 
     61                /** 
    5162                 * このトゥイーンで使用するアップデータを設定します. 
    5263                 */ 
  • as3/BetweenAS3/branches/dramatic-before-after/src/fp10/org/libspark/betweenas3/tweens/IObjectTween.as

    r2994 r3009  
    2828package org.libspark.betweenas3.tweens 
    2929{ 
    30         import org.libspark.betweenas3.core.easing.IEasing; 
    31          
    3230        // target の各プロパティに対する値のセッター、特殊プロパティの処理の提供などが主な役割。 
    3331        // 各プロパティといっても、全てのプロパティに対して責任を持つ必要は無く、特殊化したいものだけ処理すればよい。 
     
    4442        { 
    4543                /** 
    46                  * このトゥイーンで使用するイージングを設定します. 
    47                  */ 
    48                 function get easing():IEasing; 
    49                  
    50                 /** 
    51                  * @private 
    52                  */ 
    53                 function set easing(value:IEasing):void; 
    54                  
    55                 /** 
    5644                 * このトゥイーンの対象となるオブジェクトを取得します. 
    5745                 */ 
  • as3/BetweenAS3/branches/dramatic-before-after/tests/fp10/org/libspark/betweenas3/core/tweens/ObjectTweenTest.as

    r2994 r3009  
    6060                test function easing():void 
    6161                { 
    62                         var t:IObjectTween = new ObjectTween(null); 
     62                        var t:IIObjectTween = new ObjectTween(null); 
    6363                        assertNull(t.easing); 
    6464                        var e:IEasing = new EaseNone(); 
  • as3/BetweenAS3/branches/dramatic-before-after/tests/fp10/org/libspark/betweenas3/core/tweens/TweensAllTests.as

    r3005 r3009  
    4444                        GroupsAllTests, 
    4545                        ObjectTweenTest, 
     46                        PhysicalTweenTest, 
    4647                        AbstractActionTweenTest, 
    4748                        ActionsAllTests,