1

我有一个错误的 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))
4

1 回答 1

5

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

&& harePlayer.Position.X <= (harePlayer.Position.X + 52)

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

将其更改为:

&& tl.Position.X <= (harePlayer.Position.X + 52)
于 2014-01-18T21:00:02.740 回答