1

これは、xnaゲームのupdate()部分にあります。

            while (TouchPanel.IsGestureAvailable)
        {
            GestureSample gs = TouchPanel.ReadGesture();

            switch (gs.GestureType)
            {
                case GestureType.Flick:
                    _GameMap.GameCamera.Translate(new Vector2(-gs.Delta.X/2, 0));
                    //moves the camera by this amount 
                    break;
            }
        }

しかし、当然のことながら、フリックするとスクロールはなく(グーグルアースや怒っている鳥のように)、それは始まりと終わりにすぎません。フリックでスクロールを実装するにはどうすればよいですか?

4

1 に答える 1

5

Windows Phone 7 ゲーム開発から:

フリック ジェスチャは、ユーザーが画面との接触を離したときにトリガーされます (...)。これは、ユーザーが移動していた方向に が離された後もオブジェクトが移動し続けるキネティック スクロールの開始に役立つ傾向があります。

ここで説明したキネティック スクロールが必要な場合は、フリック ジェスチャを検出したら、デルタを保存し、フレームごとにそのデルタ (一定の定数を掛けた値) だけ移動し、一定量だけ減らします。これにより、画面が移動し、徐々に遅くなります。

テキストを文字通りに解釈する場合、そのジェスチャはユーザーが接触を離したときにのみ報告されます。つまり、接触にページは移動しません。この場合、ある種のドラッグ ジェスチャ (おそらく FreeDrag) を探し、そのドラッグ中に画面の移動を開始する必要もあります。

于 2012-04-19T05:27:40.600 に答える