2014-01-18 4 views
1

У меня есть баггий оператор IF. Я пытаюсь проверить, находится ли касание в определенной области. Тем не менее, похоже, это создание невидимой сенсорной панели для спрайта, бесконечного сенсорного окна, чтобы оно было правильным и с экрана. Левая и верхняя области работают нормально, но ось X вправо является ошибкой. Вот мой оператор IF.Заявление Багги 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)) 
+1

После того, как я переформатировать код, вы видите свою ошибку ? –

+0

Эй, я только что вошел в систему, и все работает! Большое спасибо приятелю. Действительно оценен. – Muffin

ответ

5

Я взял на себя смелость переформатирования кода, чтобы избежать иметь полосы прокрутки в этом вопросе, и сразу увидел проблему:

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

Эта часть всегда будет истинным. (? Всегда =, если вы получите новое (случайное) значение очень много времени вы читаете либо из этих свойств)

изменить его к этому:

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

Большое спасибо! Проблема решена, реальная жизнь. Имейте большой день помощник. – Muffin