私はFlex/Flashでドラッグベースのコントロールを作成しています。フィルムストリップと同様に、アイテムをスクロールしてスクロールして項目をスクロールできます。コントロールをもっと自然に感じさせるために、スワイプが行われるとスクロールを遅くする慣性を追加しました。最初に読み込まれると、5つのアイテムが表示され、3つ目のアイテムを中心にして選択してスクロールする項目の「x」個の数字が表示されます。物理的な問題:速度からちょうど距離を計算する
スワイプジェスチャーを使ってアニメーションを作成するときに、項目が中間(3番目の位置)で終わるかどうかを判断し、それに応じて動き計算を調整して3番目/中央の位置にドッキングさせたいと思っています。あなたが長いスワイプを行うと想像して、それは過去のx個のアイテムを飛ばしますが、停止するまでゆっくり進むにつれて、アイテムは3番目の位置にエレガントに停止します。これを行うには、スピード値から移動する距離を判断する必要があると考えています(時間がユーザーエクスペリエンスには無関係です。つまり、長くスワイプすると長いアニメーションがアイテムをスキミングすることが正当化されます)。
現時点では、ユーザーがMOUSE_UPイベントを生成すると、ENTER_FRAMEイベントでアニメーションルーチン(イナーシャ付き)が呼び出されています。彼らがこれを行うとき、私はドラッグの速度を取得し(これを事前に監視することによって)、アニメーションを停止するのに適切な値に達するまでENTER_FRAMEイベントの各呼び出しでこの速度値を減分します。
残念ながら、私が見たスピードの計算では、スピードと時間を使って距離を決定していますが、スピードが必要です。確かに、私の知識はこの分野では強くないので、私は明らかに分からないかもしれない。事前に
乾杯...
半明瞭性:アニメーション化している場合、時間はすでに要素です。アニメーションは時間の経過と共に変化を意味します。 – cHao
ちょうど興味のない、あなたは速度と速度の違いは何だと思いますか?ここではベロシティのベクトルの様子が見えません。 – paxdiablo
@ cHao - アニメーションが呼び出され、速度が取得されます。アニメーションの各サイクルで速度が低下するため、アニメーションの時間は不明です(または計算可能かもしれません)。 @ paxdiablo - 謝罪、私はここに私の言葉を混ぜていた。私はスピードと価値を持っています。私はスピードを減らします。 – SeanCocteau