私は知られていない "ベロシティ"を持っています。私はトラバースするピクセル数を持っています。私はその距離を "moveto"に送り、画面上のグラフィックスはジャンプします。素晴らしい滑らかなオブジェクトは、画面上でスライドします。現在、私は "慣性"効果を生み出すために、ゼロに近づくまでに私のインクリメント値を0.1ずつ減らしていますが、着陸したい点に着陸しません。私はオーバーシュートの取り扱いについて、スタックオーバーフローにanother questionを持っているが、私はこれを見つけた:時間の代わりに遠隔ドメインの四次緩和?
///////////// QUARTIC EASING: t^4 /////////////////////
// quartic easing in - accelerating from zero velocity
// t: current time, b: beginning value, c: change in value, d: duration
// t and d can be frames or seconds/milliseconds
Math.easeInQuart = function (t, b, c, d) {
return c*(t/=d)*t*t*t + b;
};
私は私が事前に定義された時点での着地と同様の効果を得るように周りにこれを切り替えたいが、入力環境によって現在の場所と目的地の場所。
フーリエ解析では、時間領域を周波数領域に変換することができます。時間ドメインを距離ドメインに変換するにはどうすればよいですか?
さらに、時間ベースの方程式またはアルゴリズムを使用して距離ベースのアルゴリズムに変換できる簡単な変換はありますか?
私がしようとしているのは、オブジェクトを正確な位置に置くか、または「インターティアル」減速効果に非常に近いものです。上にリンクされた四次緩和デモは、私が望む効果があったものです。
開始位置、終了位置、現在位置を指定して、次のフレームの移動先を指定しますか? –
それが動作すれば、はい! – alphablender