現在、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);
}
誰かアドバイスしてもらえますか?生の入力タッチを使用する必要がある場所を見ましたが、それがドラッグでどのように機能するか知りたいです。