慣性の動きを表現する
マニピュレーション操作では慣性の動きを表現することができます。例えば、ウィンドウに表示された星を指でシュッと弾くと減速しながら停止させるような自然な動きを表します。
慣性の動きを表現するには対象オブジェクトが配置されたあるコンテナーのManipulationInertiaStartingイベントを使用します。移動、サイズ変更、回転の減速割合を指定することができ、引数eが持つプロパティで設定します。
プロパティ | 操作 |
e.TranslationBehavior.DesiredDeceleration | 移動減速の割合 |
e.ExpansionBehavior.DesiredDeceleration | サイズ変更減速の割合 |
e.RotationBehavior.DesiredDeceleration | 回転減速の割合 |
下記は慣性の動きを表現する例です。「マニピュレーションイベントを使用する」のコードに、下記コードを加えてください。また、減速の割合を自由に変更し、どのように減速が掛かるのかを体験してください。
' 慣性による処理開始時の処理 Private Sub canvas1_ManipulationInertiaStarting(sender As System.Object, e As System.Windows.Input.ManipulationInertiaStartingEventArgs) Handles canvas1.ManipulationInertiaStarting '★★★移動減速の割合を設定★★★ e.TranslationBehavior.DesiredDeceleration = 0.005 '★★★サイズ変更減速の割合を設定★★★ e.ExpansionBehavior.DesiredDeceleration = 0.005 '★★★回転減速の割合を設定★★★ e.RotationBehavior.DesiredDeceleration = 0.0001 e.Handled = True End Sub
// 慣性による処理開始時の処理 private void canvas1_ManipulationInertiaStarting(object sender, ManipulationInertiaStartingEventArgs e) { // ★★★移動減速の割合を設定★★★ e.TranslationBehavior.DesiredDeceleration = 0.005; // ★★★サイズ変更減速の割合を設定★★★ e.ExpansionBehavior.DesiredDeceleration = 0.005; // ★★★回転減速の割合を設定★★★ e.RotationBehavior.DesiredDeceleration = 0.0001; e.Handled = true; }
慣性の動きを表現するにはManipulationInertiaStartingイベント内で、移動,サイズ変更,回転の減速割合を設定する。
まとめ
昨今は、タブレット型コンピューターやスマートフォンなどマルチタッチ操作が行えるデバイスが増えてきています。Winodws 7はマルチタッチに対応したOSなので、これを機会にWindowsでもマルチタッチアプリケーションに取り組んでみてはいかがでしょうか。
最後に、この連載も本記事で20回を迎えることができました。これまでに紹介してきた以外にもまだまだ多くのコントロールがあるのですが、基本的な部分は一通り紹介することができましたので、誠に勝手ではありますが本連載を終了とさせていただきます。
長い間お付き合いくださいましてありがとうございました。