ActionScript Tween ライブラリも選択肢が増えてうれしい限りです。
Tweener
Go + HydroTween
GTween
TweenMax / TweenLight
Tweensy
通常の使用ではそんなに差は出ないと思われるので、なれたライブラリを使うと良いかな。
Go + HydroTween と Tweensy に同じモーションを設定し動かしてみた。
[swfobj src=”http://www.inazumatv.com/contents/wp-content/uploads/2009/04/tweensy-hydrotween-compare-3.swf” width=”600″ height=”300″ id=”tweensy-hydrotween” name=”tweensy_hydrotween” class=”tweensy-hydrotween” align=”none” allowfullscreen=”false” required_player_version=”9.0.28″ bgcolor=’#cccccc’]
微妙に動きが違うのがネ……
正確に計測したわけではないけど Tweensy の方が duration 値の処理が正確なような・・・
Tweensy では rotation は Matrix を使わないといけないのかなぁ?
だとすると回転させながらの移動の時はちょっと面倒くさいかも。
でも基準点に関係なくインスタンスの任意の位置を中心に回転できるのは便利。
HydroTween はコードがお手軽な感じ、引数の多さに驚かなければな条件付きだけど。
import fl.motion.easing.*; // Tweensy import com.flashdynamix.motion.*; import com.flashdynamix.motion.extras.MatrixTransform; var tween:TweensyGroup = new TweensyGroup(); var mtx:MatrixTransform = new MatrixTransform(target); mtx.registrationX = target.x + target.width/2; mtx.registrationY = target.y + target.height/2; var tweensy:TweensyTimeline = tween.to(mtx, {degree:360, tx:500}, 2.0, Sine.easeOut); tweensy.repeatType = TweensyTimeline.LOOP; // HydroTween import org.goasap.interfaces.IPlayable; import com.hydrotik.go.*; HydroTween.VERBOSE = false; var hydro:IPlayable = HydroTween.go( target2, {rotation:360, x:525}, 2.0, 0.0, Sine.easeOut , null, null, null, null, null , {cycles:0,reverse:true,easing:null} ); |
target, target2 ともw:50,h:50。
target 基準点は左上。
target2 基準点は真ん中。
ピンバック: イナヅマtvログ » Tweensy vs. HydroTween, Actionscript Tween ライブラリ(2)
2009.10.22 19:49
こんにちは。
Tweensyで回転の、smartRotateっていうのをfalseに
すると360で1回転できましたよ!
TweensyGroup.as,TweensyTimeline.asの!
できねーはずがない…と思ってたどり着いた。
Tweensy.asでset smartRotateあるけど、かわらなかった。
直接TweensyGroup.as,TweensyTimeline.asかえたらかわった。
そんな感じです。
2009.10.23 20:03
ありがとうございます。
ご助言助かります。
早速、試してみます。
ピンバック: [Flash]AS3で使えるTweenライブラリをまとめてみた | Web活メモ帳