mieki256's diary



2013/09/13(金) [n年前の日記]

#1 [dtm] ジングル作成中

ステージクリア時に鳴らす短い音楽を ―― _ジングル? ステッカー? アタック? を作成中。なのだけど。なんかイメージと違うんだよなあ…。もっとパキッとした感じのイメージにしたいのだけど…。

#2 [haxe] HaxeFlixelにはtweenが用意されてたらしい

tween だの、イージングだの呼ばれているソレは、プログラム中で「このオブジェクトをこんな風にアニメしといて」と設定しておくと、「合点承知之助!」とばかりに、後は自動でそのように動かしてくれるソレ。

ActionScript や JavaScript の世界ではフツーに存在するらしいけど、HaxeFlixel にも用意されてたらしい。いや、もしかすると Flixel にも用意されているのかもしれないのだけど。

_Tutoriales HaxeFlixel のソースが大変参考になった。ありがたや。

まずは以下を import して。
import org.flixel.tweens.FlxTween;
import org.flixel.tweens.misc.MultiVarTween;
import org.flixel.tweens.util.Ease;

初期化処理などで、以下のようなことをして。
        // 拡大表示しておく

        scale.x = 3.0;
        scale.y = 3.0;
        
        // Tweenを設定
        // この例では、一瞬(0.3秒)で勢いよく縮小する(scaleを変化させる)動きを指定

        var mvt1 = new MultiVarTween(null, FlxTween.ONESHOT);
        mvt1.tween(this.scale, { "x":1.0, "y":1.0 }, 0.3, Ease.backOut);
        
        // tweenを登録

        addTween(mvt1);
後は、FlxSprite なり、FlxState なりで、update() が呼ばれてさえいれば、その中で値を計算して、指定したプロパティに勝手に代入してくれる。

ちなみに、update() を override した中で、super.update(); を呼ぶのを忘れていて、「動かないなあ…」とハマってました。update() を override するときは、super.update(); を入れておくことを忘れずに。

一応、他の例もメモ。

不透明→透明→不透明…を繰り返す・alpha を弄る例。
        // スプライトを発生・登録
        var pressz = new FlxSprite(x, y);
        pressz.loadGraphic(Assets.getBitmapData("assets/images/pressz.png"));
        add(pressz);

        // tweenで点滅させる
        var mvt:MultiVarTween = new MultiVarTween(null, FlxTween.PINGPONG);
        mvt.tween(pressz, { "alpha":0.0 }, 0.5);
        pressz.addTween(mvt);
イージングの種類については、JavaScript や ActionScript 関係の解説ページを眺めたほうがいいのかもしれず。

_Easing Function 早見表
_Easing Equations
_jQuery入門講座:イージングの追加
_jQueryのイージングを拡張する「jquery.easing(ver1.3)」のサンプル
_ActionScriptのトゥイーン制御ライブラリTweenerの使い方 | creator note

ちなみに、 _Demos | HaxeFlixel の中にも、そもそも _FlxTween | HaxeFlixel というサンプルがあった。

こんな便利な機能が実装されるとは知らなくて、自前で動かしてましたわ…。

以上、1 日分です。

過去ログ表示

Prev - 2013/09 - Next
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30

カテゴリで表示

検索機能は Namazu for hns で提供されています。(詳細指定/ヘルプ


注意: 現在使用の日記自動生成システムは Version 2.19.6 です。
公開されている日記自動生成システムは Version 2.19.5 です。

Powered by hns-2.19.6, HyperNikkiSystem Project