2010-11-26 7 views
0


Довольно простой вопрос, что я уверен, что вы будете смеяться надо мной.
У меня есть два прямоугольника playerRect и стена.
у меня есть, если заявление с условием бытия ..Обнаружение столкновений между двумя прямоугольниками

if (CGRectIntersectsRect(playerRect,wall)) { 
     //handle collision here 
} 

Проблема у меня работает, какая сторона на самом деле попал в стены прямоугольник.
Мне нужно знать, потому что тогда я не могу заставить игрока двигаться, в зависимости от того, какая сторона попала.
Спасибо за любую помощь
Disco

+0

проверьте это, если у вас нет http://stackoverflow.com/questions/3079168/ столкновения обнаружения-2d-между-прямоугольников – 2010-11-26 19:27:20

ответ

0

Я хотел бы добавить некоторые направления свойство моего объекта «Player». Таким образом, когда вы обнаруживаете столкновение, вы просто проверяете, каким образом игрок двигался до столкновения и соответственно реагировал.

0

Создайте CGRect для каждой стороны вашего объекта с шириной 1 (или высотой 1 в зависимости от стороны) и найдите пересечения со сторонами вместо всего объекта. Если ваш объект движется быстрее, чем 1 пиксель на проверку на столкновение, тогда вы проверите стороны в дополнение к, проверяя весь объект

Смежные вопросы