У меня есть повернутый прямоугольник внутри замкнутой карты прямоугольников.
Как лучше всего проверить, пересекается ли игрок (это повернутый прямоугольник) с одним из прямоугольников карты тайлов?
Картинка из игры, чтобы лучше показать, как выглядит карта:
Если это имеет значение, тип игрока sf::Shape
и данные карты находятся внутри int
массив.
SFML
не обеспечивает обнаружение столкновений, у него есть только способ проверить, пересекаются ли два выровненных по оси прямоугольника. Если вам нужно что-то более сложное, вам придется реализовать его самостоятельно.
Если вам не нужно точное определение, вы можете проверить Sprite.getGlobalBounds().intersects(...)
с прямоугольником карты.
Если вы хотите идеальное обнаружение столкновений, у вас есть несколько вариантов:
Других решений пока нет …