とても重要で不可解なことだと思ったので、この特定のものを探しましたが、それについては何も見つかりませんでした。私が考えているのは、WPFおよびSilverlightアニメーションの時間スケーリングです。
4秒間持続し、プロパティを0から100までアニメーション化するDoubleAnimationがあるとします。これは自動反転されるか、効果を反転する補完的なアニメーションがありますが、これは重要ではありません。このアニメーションをトリガーするイベントが単純なMouseOverであるとしましょう。
問題は次のとおりです。要素の上にカーソルを置きます。プロパティは4秒で0から100になります。カーソルを1秒間離すと、プロパティが100から75になり、ホバーして戻ります。これで、プロパティは4秒で75から100になります。アニメーションの実行速度が4倍遅いことはユーザーには明らかです。アニメーションの時間をスケーリングする方法はありますか?このアニメーションを1秒で75から100まで実行したい場合、どうすればよいですか?私自身、4つのパラメーター(絶対的な開始と終了、実際の開始、および間隔全体のタイムスパン)を取り、適切な時間を吐き出すコンバーターについて考えています。もっとエレガントな方法はありますか?
アニメーションが速い場合は、一般的に問題がないことに気づきました。アニメーションが0.2秒または0.1秒で実行される場合、人間は実際には速度の違いを観察しません。おそらく、すべてのアニメーションは、エクスペリエンスを低下させないように可能な限り高速である必要があります。ただし、この質問は理論的に扱ってください(したがって、コードサンプルはありません)。アニメーション時間をスケーリングする適切な方法があるかどうかだけ知りたいです。
ウェブ上のどこかに私の質問に対する答えがある場合は、そこに私を向けてください。
Paweł
PS私の英語を気にしないでください、私はネイティブスピーカーではありません;)