「WinRTのマルチタッチマニピュレーション」 セッション資料を公開しました

すっかり遅くなってしまいました。
10月27日(土) に開催された、技術ひろば.net の勉強会で

WinRT のマルチタッチマニピュレーション

についてお話ししました。

Windows 8 / WinRT の技術情報は大分出てきましたが、Grid アプリケーションに関連した情報が多いように思います。
(Grid アプリケーションは Windows 8 らしい UX なので当然といえば当然なんですが)

が、せっかくタッチに最適化された Windows 8 / WinRT なので、”タッチそのもの” をもうちょっと扱ってみたいなと思い、整理した結果です。
以前、Silverlight でマルチタッチマニピュレーションを調べてみた ので、それの WinRT アップデート版といった感じです。

結論から言うと、WinRT のタッチ操作、マルチタッチマニピュレーションはとっても簡単、定型的なコードで実現できます。


Windows 7 まで、それから Silverlight、さらに Windows 8 でもデスクトップでは、マウスありきの API です。
一方、WinRT ではマウスはポインティングデバイスの一つという位置づけです。

image

どういうことかと言うと、従来はタッチ操作はシステムによって自動的にマウスイベント MouseXXX に昇格されていたものが、WinRT では タッチでもマウスでも PointerXXX イベント として発行されます。
※従来は、タッチ操作を明示的に処理したい場合は昇格を止めるという操作が必要でした。

image


低レベルでタッチ操作を処理しようとすると、嬉しくない事象に遭遇します。

イベントで取得した タッチポイントを線でつなぐと、きれいな線になりません。これは指先は(画面との摩擦で)変形するからだと思うんですが、ともかく美しくありません。

image

そこで生のデータからベジェ曲線を生成して、きれいな線にするという工夫が必要になります。

image


さて、マルチタッチ操作による画面上のオブジェクト操作です。
これが本当に簡単です。

大事なのは ManipurationData イベントの処理 と、CompositeTransform クラスの活用 です。

image

image
image
image


WinRT のタッチ操作の処理はとっても簡単です。
タッチ操作をうまく活用したアプリケーション開発の参考にして、ぜひ他にはない魅力的なアプリケーションを作っていただければ。

image

広告
カテゴリー: コミュニティー, Windows ストアアプリ, WinRT タグ: , , パーマリンク

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中