1: 2015-05-25 (月) 06:25:31 njf[5] [6] [7] | |||
---|---|---|---|
Line 1: | Line 1: | ||
+ | Starlingの基本機能だけで軽量で簡単にアニメーションがつくれますが、複数アニメーションを連結する簡単な機能などはありません。(出来ないわけではありません。) | ||
+ | たとえばフェードインして少し待って平行移動して縮小するとか、複数のアニメーションを連結したりするような、ある程度複雑なアニメーションは専用のライブラリ(Tween24など)を使った方が楽です。 | ||
+ | また、Tween関係の一般的なライブラリ全般に言えますが、基本的に時間指定で実行されるので、フレーム単位で動かすゲームと同期がずれる場合があります。 | ||
+ | |||
+ | よって、Starlingの機能のみのアニメーションの使いどころは、フェイドイン、フェイドアウトなど、UIのちょっとしたアニメーションとかになります。 | ||
+ | |||
+ | たとえば、一番よく使うアニメーションの一つ、フェイドインは以下のようになります。 | ||
+ | |||
+ | |||
+ | var img:Image = new Image(assets.getTexture(IMG_NAME)); | ||
+ | img.alpha = 0; | ||
+ | addChild(img); | ||
+ | var tween:Tween = new Tween(img, 0.2); | ||
+ | tween.fadeTo(1); | ||
+ | Starling.current.juggler.add(tween); | ||
+ | |||
+ | フェイドインしながら同時に大きさを変えたい場合は | ||
+ | tween.scaleTo(2); | ||
+ | などとします。 | ||
+ | |||
+ | TweenのonCompleteプロパティに終了時の処理を入れることが出来ます。これによって連続してアニメーションする事も出来ますが、tween系ライブラリに比べるとちょっとめんどくさいですね。 | ||
+ | |||
+ | tween.onComplete = function() { | ||
+ | //end | ||
+ | }; | ||
+ | |||
+ | Tweenの初期化で第三引数にイージングを指定することも出来ます。 | ||
+ | |||
+ | var tween:Tween = new Tween(img, 0.2, Transitions.EASE_IN); | ||
+ | |||
+ | Tweenインスタンスを再利用することも出来ます。 | ||
+ | |||
+ | tween.reset(img, 0.2, Transitions.EASE_IN); | ||
+ | |||
+ | 他にもいろいろな機能があり手軽に使えるのは良いところです。 | ||
+ | しかし、複雑な物を使いたいなら専用のライブラリ使った方が良いかも知れません。 | ||
+ | |||
+ | 参考: | ||
+ | http://cuaoar.jp/2011/12/tween-starling.html | ||
+ | http://wiki.starling-framework.org/manual/animation |
(This host) = https://njf.jp