ActionScriptの3:滑らかなアニメーションのプログラム
-
06-09-2019 - |
質問
私はsmootlyできるだけMoviveClips /スプライトオブジェクトをアニメーション化します。しかし、これまでの作品唯一の方法は、enterFrameイベントハンドラに移動コードを配置しています。特定のマシン上のフレームレートが必要なフレームレートを下回った場合、その後、ゲーム全体が遅くなる:このアプローチの一つの問題があります。私は時間に依存しない方法でこれを行うことができるようにしたい。
解決
のFlashプレーヤー内のプログラムのアニメーションを行うには、2つの方法があります。まず、あなたはすでにonEnterFrameを使用して指摘しました。ただし、としてあなたはすでにあなたが映画の全体的なフレームレートを増やす必要がありスムーズなアニメーションを得るために、気づいたかもしれません。これを行うことも、あなたのSWFが実行時間の全期間のためのCPU負荷が増加します。これは、あなたが常に望んものではありません。
プログラムでアニメーションを行うための他の方法は、タイマーを使用することです。タイマハンドラ内では、あなたのSWFのために設定したいFPSから画面の独立を更新しますupdateAfterEvent
という名前の関数を呼び出すことが可能です。そのため、タイマーを使用すると、あなたのSWFの全体的なフレームレートを増加させることなく、フラッシュプレーヤーの中に滑らかなアニメーションを行うためのゲートウェイを残しています。
二年前、またはので、私は(あるため利用でき、既存のトゥイーンライブラリと私の不満の)フラッシュのための私自身のトゥイーンライブラリを作成するために着手しました。私は名前の下でそれをリリース Coretween と、このライブラリはあなたが好むアニメーションの種類を選択し、他のものの間で、あなたをすることができますすべての個々のトゥイーン。ドキュメントページに私は、フレームベースおよび時間ベースのアニメーションとの差のこの例を与えます。それは60 fpsでダニとSWFのフレームレートから依存して、画面を更新タイマーによって制御されますので、そのページ上の例SWFは非常にスムーズに、12 fpsでなく、あなたが見ることができるように、下部の円トゥイーンを実行します。それも、タイマーが実際に60 fpsで刻むけれども心に留めておくくださいFlash Playerは、このフレームレートを達成することはできません。しかし、それははるかにスムーズな全体的なアニメーションになり、このフレームレートを達成しようとします。
残念ながら、今まで私は自分のライブラリーのバージョン1.0をリリースすることができていませんでしたが、私の知る限りでは、それはかなり安定しています。あなたが合うどのような方法でそれを使用することを歓迎以上です。私たちはここに StGeorge の銀行のためにしたこの1を含む多くの商業的生産にCoretweenを使用しましたオーストラリアでます。
他のヒント
ここでは、いくつかのActionScriptベースのアニメーションライブラリです
<のhref = "http://www.google.com/url?sa=t&source=web&ct=res&cd=1&url=http%3A%2F%2Fblog.greensock.com%2Ftweenmaxas3%2F&ei=UzkhSpD8IYPBtwfCxOnBBg&rct=j&q= TweenMax&USG = AFQjCNFfJ41rVV8JX7vg8VfC2vRwuwzAkQ」のrel = "nofollowをnoreferrer"> TweenMax の
<のhref = "http://www.google.com/url?sa=t&source=web&ct=res&cd=1&url=http%3A%2F%2Fcode.google.com%2Fp%2Ftweener%2F&ei=eTkhSqT7COHgtgfS6uzABg&rct= J&Q =ツイナー&USG = AFQjCNH06RZesH0SEvPCYbJ-J0OMFd7GGQ」のrel = "nofollowをnoreferrer">ツイナーの
これらは両方ともうまく動作し、あなたが必要なもののお手伝いをする必要があります。