2013-08-20 7 views
2

Я изучаю SFML прямо сейчас, и мне только удалось реализовать некоторые основные прыжки и гравитацию. Тем не менее, я не могу понять, как положить в столкновений, потому что мне нужно также определить, какая сторона объекта попала. Например, мне нужно движение вверх, чтобы остановить, если оно попадает в нижнюю часть объекта, вниз, чтобы остановить, если оно попадает в верхнюю часть, и движение влево или вправо, если оно просто касается стороны. Это были бы прямоугольные объекты, поэтому мне не пришлось бы программировать странные для кругов или неестественные фигуры, только с 4 сторон. Благодаря!SFML Platform Collision

+2

Я включил ответ ниже. В будущем это будет скорее вопросом, чем запросом. Вы никогда не получите код, переданный вам здесь. Но если вы попробуете что-нибудь, мы сможем провести вас к следующему шагу. Даже если ваша попытка ужасная, мы хотим видеть, что вы работаете с нами. После того, как вы это сделаете, напишите еще один (более конкретный) вопрос. – MattDavBen

ответ

3

Существует несколько способов сделать это, некоторые более сложные (и эффективные), чем другие. Ради вас, я бы начал с простого размещения «ограничивающей рамки» вокруг вашего персонажа. Этот ограничивающий прямоугольник будет двигаться везде, где ваш персонаж будет и должен окружать его или ее. Всякий раз, когда этот ограничивающий прямоугольник пересекается с твердым объектом, происходит ваше столкновение.

Вот где весело приходит в:

  1. Что "пересекается" означает? Много вещей. Вы можете написать функцию, чтобы выяснить, пересекаются ли две фигуры или использовать функцию из SFML или использовать какую-то библиотеку физики (например, Box2D).
  2. Как остановить персонажа от прохождения? Узнайте, как далеко они пересекаются (вы проверяете столкновение до того, как вы переместите символ), а затем сделайте так, чтобы символ перемещался только до границ этого твердого объекта.

Это чрезвычайно упрощенное объяснение. Обнаружение и обработка столкновений сложны. Ваш лучший выбор - потратить много времени. ОПРЕДЕЛЕНИЕ столкновения, а затем беспокоиться о том, как ручка столкновение. Многие новички стараются в одно и то же время и расстраиваются.

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

  • Нет связанных вопросов^_^