Я работаю над 2D-шутером сверху вниз, и теперь мне нужно выйти за рамки моей основной системы столкновений с прямоугольниками.
У меня есть большие уровни с множеством разных спрайтов, каждый из которых имеет разные формы и размеры. Все текстуры для спрайтов - это квадратные png-файлы с прозрачным фоном, поэтому мне также нужен способ столкновения только тогда, когда игрок входит в цветную часть текстуры, а не на прозрачный фон.
Я планирую справиться со столкновением следующим образом:
- Проверьте, есть ли спрайты в зоне действия игрока
- Провести тест столкновения прямоугольной рамки
- Точное столкновение (где мне нужна помощь)
Я не возражаю против продвинутых методов, так как хочу понять это правильно, учитывая все мои требования, но я не знаю, как к этому подойти. Какие техники или даже библиотеки попробовать. Я знаю, что мне, вероятно, нужно будет создать и сохранить какую-то форму, которая точно представляет каждый спрайт минус прозрачный фон.
Я читал, что на пиксель медленно, поэтому, учитывая мои большие уровни и количество объектов, я не думаю, что это будет подходящим. Я также посмотрел на Box2d, но не смог найти много документации или примеров того, как его настроить и запустить с SFML.