0

現在、VS2012 で C#/XNA を使用してゲームを構築しています。私のコードでは、ユーザーがオブジェクトに触れて、垂直方向または水平方向のジェスチャーに切り替えるときに指を離さずに垂直方向および水平方向にドラッグする必要があります。これが私のコードのサンプルです:

protected override void Update(GameTime gameTime)
    {
        // Allows the game to exit
        if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed)
            this.Exit();

        // Move the sprite by speed, scaled by elapsed time. 
        //shipPosition += shipSpeed; 

        // check whether gestures are available
        while (TouchPanel.IsGestureAvailable)
        {
            // read the next gesture
            GestureSample gesture = TouchPanel.ReadGesture();

            // has the user tapped the screen?
            switch (gesture.GestureType)
            {
                case GestureType.HorizontalDrag:

                    shipPosition += gesture.Delta;

                    break;
                case GestureType.VerticalDrag:

                    shipPosition += gesture.Delta;

                    break;
            }
        }

        // Make sure that the ship does not go out of bounds 
        shipPosition.X = MathHelper.Clamp(shipPosition.X, 35 / 2 , 765 + 35 / 2 - shipTexture.Width);
        shipPosition.Y = MathHelper.Clamp(shipPosition.Y, 21 / 2, 451 + 21 / 2 - shipTexture.Height);

        // TODO: Add your update logic here

        base.Update(gameTime);
    }

誰かアドバイスしてもらえますか?生の入力タッチを使用する必要がある場所を見ましたが、それがドラッグでどのように機能するか知りたいです。

4

1 に答える 1

0

代わりに Touch Location を使用する必要があるようです

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

下を見る

タッチ入力デバイスからマルチタッチ データを取得する

于 2013-02-01T17:22:04.107 に答える