タッチスクリーンの無い環境でタッチのテストをする



今回はvGamePadのテストについて少しまとめます。

そもそもvGamePadは7インチや8インチサイズの小さなタブレットPCをターゲットにしています。
もちろん、10インチを超えるタブレットでも使えますよw

タッチスクリーンが無い開発環境なんですが

vGamePadの開発はWindows 8.1 Update x64のデスクトップPCを使っています。
このPCにはタッチスクリーン機能がありません。

デスクトップPCでプログラムを作って、最終評価は2台のタブレットPC(ThinkPad8、iWork7)で行ってます。(開発の効率を考えると、タブレットPCだけで開発するというのはかなりしんどいです。)

vGamePadでは少しでも効率よくテストするために2つの方法を使って行っています。

タッチをマウスで代用するデバッグ用コード

実装したクラス、メソッドが正しく動作しているか、デバッガーでステップ実行したい場合に使っています。
方法は単純で、MainWindowのLoadedイベントハンドラにデバッグ用のコードを追加しただけです。

private void Window_Loaded(object sender, RoutedEventArgs e)
{
    :
    :
#if DEBUG
    // デバッグ用イベントハンドラは以下の3つにしておく
    // MouseDown="vGamePadCanvas_MouseDown"
    // MouseMove="vGamePadCanvas_MouseMove"
    // MouseUp="vGamePadCanvas_MouseUp"
    this.vGamePadCanvas.MouseDown += vGamePadCanvas_MouseDown;
    this.vGamePadCanvas.MouseMove += vGamePadCanvas_MouseMove;
    this.vGamePadCanvas.MouseUp += vGamePadCanvas_MouseUp;
#endif
    :
    :
}

#if DEBUG
private void vGamePadCanvas_MouseDown(object sender, MouseButtonEventArgs e)
{
    if (e.LeftButton == MouseButtonState.Pressed )
    {
        ((Canvas)sender).CaptureMouse();
        OnPointerDown(e.MouseDevice.GetPosition((UIElement)sender), 1);
    }
}

private void vGamePadCanvas_MouseMove(object sender, MouseEventArgs e)
{
    if (e.LeftButton == MouseButtonState.Pressed)
    {
        OnPointerMove(e.MouseDevice.GetPosition((UIElement)sender), 1);
    }
}

private void vGamePadCanvas_MouseUp(object sender, MouseButtonEventArgs e)
{
    if (e.LeftButton == MouseButtonState.Released)
    {
        OnPointerUp(e.MouseDevice.GetPosition((UIElement)sender), 1);
        ((Canvas)sender).ReleaseMouseCapture();
    }
}
#endif

OnPointer~は前回ちょこっと説明しましたが、第二引数がマルチタッチのTouchDevice.Idになるようにしているため1固定にしています。

あとはマウス操作で各ボタンの動作テストを行うことが可能です。

Windowsシミュレーターを利用する

先ほどの方法は画面の回転やタッチイベントハンドラのテストはできません。
そこまで確認するためにはVisual Studio 2013に同梱されている Windows シミュレーターを利用します。
Windowsシミュレーター
MSの紹介ページにはストアアプリ用と記載されていますが、vGamePadのようなデスクトップアプリやウェブのテストでも使えます。

まずパスですが、
“%ProgramFiles(x86)%\Common Files\Microsoft Shared\Windows Simulator\12.0\Microsoft.Windows.Simulator.exe”
になります。
ショートカットを適当な場所に作っておけば起動が楽ちんなのでお勧めします。

あとはリリース版のvGamePadを起動してタッチ動作の確認や画面回転時の動作確認を行うことができます。

このシミュレーター、Visual Studioを起動することも可能です。
ステップ実行もできるのでかなり開発が楽になると思います。


Leave a comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です