2009-05-06 9 views
2

他にもsimilar threadがありますが、これはゲームプログラミングに重点を置いています。通常のGUIアプリケーションとは少し違った「余分な砂糖」があります。アニメーション:タイマーvsアイドル

小さなGUIアニメーション(拡大/折りたたみパネル、輝くボタンなど)を駆動するための正しいアプローチは何でしょうか?

タイマーを定期的に起動するように設定するのがベストか、アイドルイベントを使用する方が良いでしょうか?

WPFはどのようにアニメーションを駆動しますか?

私は最高のそこから、ので、それらはすべての:-)

UPDATE収集できいただきました上での意見の多くがいることを知っている:OKが。私はこれが少し不明確になったと思います。 WPFを使用していないので、WPFでアニメーションをトリガーする方法には興味がありません。私が何をしているのかは、なぜアニメを動かすためにonidleイベントを使うのが良いか悪いのかという議論です。始動しないで、それを運転してください。

+0

あなたは質問を明確にしていないので、私たちは正直な答えを与えて罰せられましたか?たぶん次回は質問を明確にして、答えを下げる前にしばらくお待ちください。私の答えは役に立たなかったのは残念です。 –

+0

さて、正直言って、なぜ何かをクリアする必要があるのはわかりません。あなたが完全な質問を読んで、言及された他のスレッドを見て、私がブレンドでストーリーボードを作る方法で私がinteresstedではないことは非常に明確であるはずです。しかし、絶対に - 私はdownvoteで待つことができます... – Vegar

+0

申し訳ありませんが、私は他のスレッドをチェックアウトしていません。多分それはそれをクリアしたでしょう。私はもう少し適切かもしれない新しい答えを加えました。それが役に立たない場合は、これをダウン投票してください...少なくとも今話題になっていることは分かっています! :-) –

答えて

1

アニメーションをどのようにドライブするかは、処理の優先順位に基づいて行う必要があります。

タイマーを使用すると、より一貫して呼び出されます。これにより、処理能力のより重要なプロセスと競合する可能性があります。 OnIdleを使用すると、他のプロセスを担当することができますが、アニメーションが枯渇する可能性もあります。

正しい選択は、特定の優先順位によって異なります。

WPFがこれをどのように処理するのかよくわかりませんが、アニメーションが定期的に呼び出されない可能性があるため、各呼び出しでアニメーションをインクリメントするのではなく、絶対開始時間にアニメーションを設定することが重要です。

0

おそらく私は間違っているのですが、なぜWPFがアニメーションをネイティブにサポートしているのなら、タイマー/アイドルイベントが必要ですか? MSDNのアニメーション概要の記事をご覧ください。http://msdn.microsoft.com/en-us/library/ms752312.aspx