我有一个错误的IF声明。我试图检查触摸是否在某个区域内。然而,它似乎正在为精灵创建一个隐形触摸盒,它是一个永无止境的触摸盒,它正好在屏幕外。左侧和顶部区域工作正常,但右侧的X轴是错误的。这是我的IF声明。
if (tl.State == TouchLocationState.Pressed
&& tl.Position.X >= harePlayer.Position.X
&& tl.Position.Y >= harePlayer.Position.Y
&& harePlayer.Position.X <= (harePlayer.Position.X + 52)
&& tl.Position.Y <= (harePlayer.Position.Y + 50))
答案 0 :(得分:5)
我冒昧地重新格式化您的代码,以避免问题中出现滚动条,并立即发现问题:
&& harePlayer.Position.X <= (harePlayer.Position.X + 52)
这部分永远是真实的。 (总是=除非你在阅读其中任何一个属性时得到一个新的(随机?)值)
将其更改为:
&& tl.Position.X <= (harePlayer.Position.X + 52)