我正在制作一个wp7应用程序,而我的触摸屏似乎无法正常工作。我写的代码在
下面protected override void Update(GameTime gameTime)
{
TouchCollection touches = TouchPanel.GetState();
if (touches.Count > 0 && touches[0].State == TouchLocationState.Pressed)
{
SpriteFont font = Content.Load<SpriteFont>("Font");
Point touchPoint = new Point((int)touches[0].Position.X, (int)touches[0].Position.Y);
spriteBatch.Begin();
spriteBatch.DrawString(font, "hello ", new Vector2(touchPoint.X, touchPoint.Y), Color.White);
spriteBatch.End();
while (TouchPanel.IsGestureAvailable)
{
GestureSample gesture = TouchPanel.ReadGesture();
switch (gesture.GestureType)
{
case GestureType.Tap:
case GestureType.DoubleTap:
spriteBatch.Begin();
spriteBatch.DrawString(font, " ", new Vector2(touchPoint.X, touchPoint.Y), Color.White);
spriteBatch.End();
break;
}
}
}
base.Update(gameTime);
}
答案 0 :(得分:1)
问题可能在于您尝试在Update方法中绘制内容。 绘制方法用于绘图。 因此,在您的情况下,您在Update方法中绘制一些东西,然后在Draw方法中绘制背景,这样就可以覆盖文本。
protected override void Draw(GameTime gameTime)
{
GraphicsDevice.Clear(Color.CornflowerBlue);
// overriding here
... draw background
// *draw your text should be here
base.Draw(gameTime);
}
所以解决方法是移动“spriteBatch.DrawString(...);”绘制方法并将其放在下面 代码中的背景或添加深度参数来绘制方法。
答案 1 :(得分:0)
现在看你的代码,似乎没有什么不对,但你试过踩过它吗?我看到点击或双击同样的事情,但也许有些事情被挂断了。
我想到的第一件事就是你的XAML。你有控件或其他一切吗?这可能会抓住你的手势。
如果两者都不起作用,你能发布更多信息吗?