Buggy IF声明

Muf*_*fin 1 c# testing if-statement xna-4.0 operand

我有一个错误的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))
Run Code Online (Sandbox Code Playgroud)

ang*_*son 5

我冒昧地重新格式化你的代码,以避免在问题中有一个滚动条,并立即发现问题:

&& harePlayer.Position.X <= (harePlayer.Position.X + 52)
Run Code Online (Sandbox Code Playgroud)

这部分永远是真实的.(总是=除非你在读取这些属性中的任何一个时得到一个新的(随机?)值)

把它改成这个:

&& tl.Position.X <= (harePlayer.Position.X + 52)
Run Code Online (Sandbox Code Playgroud)