Touch Xna : x:infity y:infinity
本文关键字:infinity infity Xna Touch | 更新日期: 2023-09-27 18:37:20
这是我的代码
TouchCollection touch = TouchPanel.GetState();
if (touch.Count >= 1)
{
TouchLocation prevLocation;
bool prevAvailable = touch[0].TryGetPreviousLocation(out prevLocation);
System.Diagnostics.Debug.WriteLine("x:"+touch[0].Position.ToString()+"prev"+prevLocation.Position.ToString());
}
但是在输出窗口中,我得到了"x:无穷大,y:无穷大"。这不是一个真实的立场.任何想法请谢谢:D
尝试了您的代码,但我在输出中没有看到"x:无限,y:无穷大"。如果prevAvailable
为假(touch.State == Pressed
时为假),则prevLocation
由默认值 Vector2(0,0) 初始化。如果prevAvailable
为真(当touch.State == Moved
时),那么它会得到最后的触摸位置并且工作正常。所以这段代码没有问题。输出示例
x:{X:216 Y:363}prev{X:0 Y:0} //state == pressed
x:{X:225 Y:347}prev{X:216 Y:363}
x:{X:244 Y:321}prev{X:225 Y:347}
x:{X:272 Y:293}prev{X:244 Y:321}
x:{X:272 Y:293}prev{X:272 Y:293}
x:{X:443 Y:210}prev{X:0 Y:0} //state == pressed
x:{X:443 Y:210}prev{X:443 Y:210}
x:{X:453 Y:195}prev{X:443 Y:210}
x:{X:471 Y:176}prev{X:453 Y:195}
x:{X:506 Y:145}prev{X:471 Y:176}
x:{X:506 Y:145}prev{X:506 Y:145}