我在触摸/多点触控输入方面遇到问题。
我想在用户按下的任何地方(任务完成)绘制一个尺寸为 100x100 的小矩形,但我也希望它们在用户移动手指时移动(这不会在 atm 发生)。
除了不动的部分,我的行为也很奇怪,假设我先用拇指触摸,然后用中指触摸。每个手指下方出现两个立方体,但如果我移开我首先放置的手指(在这种情况下是拇指),我放置的第二个手指(中指)下方的立方体将消失,而我拇指所在的那个仍然存在。我想这个问题会在我得到它以在有运动时正确更新后自行解决。
这是绘制和更新片段。任何帮助表示赞赏:
protected override void Update(GameTime gameTime)
{
if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed)
this.Exit();
TouchCollection touchLocations = TouchPanel.GetState();
i = 0;
foreach (TouchLocation touchLocation in touchLocations)
{
if (touchLocation.State == TouchLocationState.Pressed)
{
pos[i] = touchLocation.Position;
}
i++;
}
base.Update(gameTime);
}
protected override void Draw(GameTime gameTime)
{
GraphicsDevice.Clear(Color.CornflowerBlue);
spriteBatch.Begin();
for (j = 0; j < i; j++)
{
spriteBatch.Draw(whiteRectangle, new Rectangle(((int)pos[j].X - 50), ((int)pos[j].Y - 50), 100, 100), Color.Chocolate);
}
spriteBatch.End();
base.Draw(gameTime);
}