Haxe:フレームなしのキーフレームアニメーション
質問
Haxe(flash9)で単純な(ループ)アニメーション(移動、アルファの変更など)を行いたいです。ライブラリにはフレームに似たものはなく、単一のフレームアセットしかありません。
私は初心者ですから。必ずしも洗練されたフレームワークを探しているわけではありません。素早い<!> amp;に満足するでしょう。汚れた。多分if
sがframe
(クラス変数)をチェックし、値を線形補間するでしょう。
class MyClass extends Sprite {
static var frame:Int = 0;
static inline var framerate:Int = 25;
static function main() {
var app:MyClass = new MyClass();
flash.Lib.current.addChild(app);
}
private function new() {
super();
// init assets here
var myTimer:Timer = new Timer(1000/framerate);
myTimer.addEventListener(TimerEvent.TIMER, animate);
myTimer.start();
}
function animateForeground(event:TimerEvent) {
frame = (frame + 1) % 1000;
// set new values depending on frame
}
}
キーフレームアニメーションの基本的な考え方を知っています。私が探しているのは、プログラムのこの部分をどのように構成するかについてです。
どのように進むべきかについての指針を教えていただけますか?
解決
アニメーションを行いたい場合は、トゥイーンライブラリを使用することを強くお勧めします。 <!> quot;不正行為<!> quot;の前に基本を学びたいと思うかもしれませんが、それらを過ぎます。
フレームレートと同じ速度で動作するタイマーではなく、アニメーションをENTER_FRAMEイベントに接続することをお勧めします。タイマーはENTER_FRAMEイベントよりも信頼性が高くないため、これら2つを切り離す必要はありません。とにかく見えない場合は、物を動かす必要はありません。
また、<!> quot; keyframe <!> quot;にそれほど集中する必要はないと思います。アニメーション。これは、キーフレームを持っている場合に便利な概念です。そうでない場合は、これを実装するのに最適な方法と思われる方法を実行するだけの方が実用的です。
ここにコードを入れますが、ここで何を達成しようとしているのかよく分からないので、何かを思いつくのに少し苦労しています。
他のヒント
おそらくロバート・ペナーの本から chapter7_tweening.pdf を読む価値はありますが、コードの観点からは古くなっていますが、トゥイーンの概念をカバーしています。
しかし、車輪を再発明する価値はないかもしれません...
Feffect は、優れたクロスプラットフォームトゥイーンエンジンです。 Actuate は使いやすく、高速です。トゥイーンにマクロを使用するのが最善の方法かもしれませんが、開始するのは少し複雑です( tinkerbell )。