MSDN マガジン: 注目記事
Silverlight でのマルチタッチ サポートの詳細
更新日: 2010 年 4 月 5 日
Charles Petzold 氏が Silverlight 3 のマルチタッチの記事を書いています (それだけでワクワクしますね) 。
マルチタッチのサポートは次のように Win 32 とWPF 4 と Silverlight 3 でそれぞれ異なります。
|
WM_TOUCH |
WM_GESTURE |
Manipulation & Inertia |
Win 32 |
〇 |
◎ |
〇 |
Silverlight 3 |
〇 |
× |
× |
WPF 4 |
〇 |
〇 |
<ul>
<li>WM_TOUCH メッセージは最も下位レベルのメッセージで (生のメッセージ)、複数のタッチ ID と位置などが取得できます。</li>
<li>WM_GESTURE メッセージは上位レベルのメッセージで、パン・ズーム・回転の情報を取得できます。ただし M_TOUCH と WM_GESTURE は排他です。</li>
<li>Manipulation & Inertia は WM_TOUCH と組み合わせて、移動や回転の慣性や減衰の処理ができます。</li>
</ul>
<p>Silverlight 3 は非常にプリミティブなタッチ イベントにしか対応していないので、回転や拡大縮小などのジェスチャーを取得するには、タッチ イベントで取得した複数のタッチ ポイントから、ジェスチャーやマニピュレーションを自分で実装しなければなりません。</p>
<p>しかし心配はいりません。この記事では、Petzold 氏が実装した TouchManager クラスや行列演算用の関数が紹介されています! これらを使えば、読者はより上位のレベルで Silverlight のマルチタッチが活用できます。もちろんこの記事には、TouchManager クラスの内容だけではなく、そのクラスを使ったサンプル デモ(TouchDial と Piano)も含まれているので、プログラミングに困ることもないでしょう。</p>
<p style="margin-top: 20px;">ページのトップへ</p>
</div>
</td>
<td valign="top">
<div class="RightAdRail BostonPostCard">
<ContentInclude Identifier="ee791011" runat="server" />
</div>
</td>