1

2 つのジェスチャーを同時に読み取る方法を教えてください。私は現在、2 人のプレイヤーが FreeDrag ジェスチャーを使用するゲームを開発しています。

今起こることは次のとおりです。

プレーヤー A が開始し、彼がドラッグしているとき、それは完全に機能します。プレーヤー B も FreeDrag ジェスチャを開始すると、TouchPanel.ReadGesture();プレーヤー A のジェスチャが終了するまで登録されません。

次のコードを使用します。

Initialize()

TouchPanel.EnabledGestures = GestureType.FreeDrag;

Update()

if (TouchPanel.IsGestureAvailable)
{
    GestureSample touch = TouchPanel.ReadGesture();

    if (touch.GestureType == GestureType.FreeDrag)
    {
        if (touch.Position.Y > GraphicsDevice.Viewport.Height/2)
        {
            //logic Player A here
        }
        else
        {
            //logic Player B there
        }
    }
}
4

2 に答える 2

0

できませFreeDragん。マルチタッチ ジェスチャではありません。マルチタッチを検出できるand を使用TouchLocationしてみてください。TouchCollection残念ながら、で宣言したデフォルトのジェスチャーは使用できませんTouchPanel.EnabledGestures

于 2013-12-13T02:11:56.997 に答える
0

MSDN ドキュメントに例があります。

http://msdn.microsoft.com/en-us/library/ff827740.aspx

// get any gestures that are ready.
while (TouchPanel.IsGestureAvailable)
{
    GestureSample gs = TouchPanel.ReadGesture();
    switch (gs.GestureType)
    {
        case GestureType.VerticalDrag:
            // move the poem screen vertically by the drag delta
            // amount.
            poem.offset.Y -= gs.Delta.Y;
            break;

        case GestureType.Flick:
            // add velocity to the poem screen (only interested in
            // changes to Y velocity).
            poem.velocity.Y += gs.Delta.Y;
            break;
    }
}
于 2012-04-20T15:55:16.917 に答える