Я працюю над 2d шутером зверху вниз, і тепер мені потрібно вийти за рамки моєї основної системи зіткнення прямокутника, що обмежує коробку.
У мене великі рівні з багатьма різними спрайтами, всі вони мають різні форми та розміри. Текстури для спрайтів - це всі квадратні файли png із прозорими фонами, тому мені також потрібен спосіб зіткнення лише тоді, коли гравець заходить у кольорову частину текстури, а не на прозорий фон.
Я планую впоратися зіткненням наступним чином:
- Перевірте, чи є спрайти в діапазоні гравця
- Зробіть тест на зіткнення прямої рамки
- Робіть точне зіткнення (де мені потрібна допомога)
Я не заперечую проти передових методів, тому що я хочу зробити це правильно з урахуванням усіх моїх вимог, але я не знаю, як до цього підійти. Які методи або навіть бібліотеки спробувати. Я знаю, що, напевно, мені знадобиться створити і зберігати якусь фігуру, яка точно відображає кожен спрайт мінус прозорий фон.
Я читав, що на піксель повільно, тому, враховуючи великі рівні та кількість об'єктів, я не думаю, що це було б підходящим. Я також переглянув Box2d, але не зміг знайти багато документації або будь-яких прикладів того, як його налаштувати і працювати з SFML.