ストアに申請、認定されるようにするところまで含めてプログラミング方法を解説していきます。Motionが必須です。コンピュータが考えている1から5までの数字を想像し、指で画面にかざすことで、コンピュータの思っていた数と合っているか、合っていないかを判定するアプリを作ります(図1)。ストア・アプリとして作成できます。その際にLeapCsharp.NET4.0.dllを参照の追加で追加したり、Leap.dllおよびLeapCsharp.dllをプロジェクトに追加する必要があります。これで、ストア・アプリを作成して動かすと問題なく動作します。3.1(以下WACK3.1)で検証を行うと、不合格と表示されてしまいます。API以外のDLLと認識されるのが原因のようです。これを解決するにはLeap.dllやLeapCshap.dllがWACK3.1に通るようにしてもらう以外に方法はないようです。ストア・アプリを作っても、WACK3.1で合格しなければ、審査に応募しても「前処理」や「セキュリティテスト」ではねられ、審査員の目に触れることはありません。ストアの審査に合格するアプリを作ってみます。Motionはデフォルトの状態で、WebSocketサーバーが起動して、ポート6437を使って通信しています。そこで、クライアントから接続するだけで、情報を取得することができます。2013のメニューから[ファイル]−[新規作成]−[プロジェクト]と選択します。ストア」を選択し、右に表示される項目名から「新しいアプリケーション(XAML)」を選択します。「名前(N)」に任意のプロジェクト名を指定します。ここでは「LeapMptionGame.xaml」という名前を付けています。今回WebSokcetで取得されるデータはJSON形式になっています。私はJSONの処理の仕方がよく理解できていないXML屋なので、JSONをXMLに変換させる処理を行っています。そのために、ソリューション・エクスプローラー内の、「参照の追加」を選択して、右クリックで表示されるメニューから「Nugetパッケージの管理」を選択して、Json.NETを追加します(図2)。筆者の場合は既にJson.NETがインストール済みですので、右隅上にインストール済みを表す、緑色にチェックのマークが付いています。図2:「Nugetパッケージの管理」から、JSON.NETを追加する(クリックで拡大)コントロールのレイアウト(MainPage.xaml)ツールボックスからデザイン画面上に、ツールボックスから各コントロールを配置します。書き出されるXAMLコードはリスト1のようになります。書き出されたXAMLコード(MainPage.xaml)(1)Grid要素全体をViewBox要素で囲みます。ViewBox要素は、伸縮およびスケーリングを実行して単一の子を使用可能な領域全体に引き伸ばすことができるコンテンツ・デコレータを定義します。Motionで認識された指の本数を格納するTextBox要素を配置します。(3)「OutPutField」という名前のWebSokect経由で取得されたJSONデータを表示するTextBox要素を配置します。これも非表示にしています。(4)StackPanel要素を配置し、Orientationに「Horizontal」と指定し、背景色(Background)に「Navy」と指定します。その子要素として、タイトルとなるTextBlock要素を配置します。(5)「sourceTextBlock」という名前のTextBox要素を配置します。この中には、コンピュータがランダムに生成した「1~5」までの数字を表示します。(6)名前が「messageTextBlock」という、結果を表示するTextBlock要素を配置します。(7)と(8)には、操作のやり方と注意点を表示したTextBlock要素を配置しています。以上、全てをレイアウトしたのが図3になります。Text="コンピュータが1から5の数字を思っています。コンピュータの思っている1から5の数字を指で画面にかざしてください。Text="1回終わるごとに画面から手を離してください。画面に近づけて手をかざさない様にしてください。第6回のサンプルプログラムです。プログラミングと、マイクロソフト系の技術をテーマとした、書籍や記事の執筆を行う。事務系のサラリーマンだった40歳から趣味でプログラミングを始め、1996年より独学でActiveXに取り組む。活動に本格的に参加、.NETやRIAに関する書籍や記事を多数執筆する傍ら、受託案件のプログラミングも手掛ける。