angru
> но вроде работает
А у тебя есть углы? Или хотя бы просто 2 рядом расположенных объекта в которые можно "упереться" в одной итерации? На сколько корректно в таких ситуациях отрабатывает?
Как то пытался такое в 3д провернуть. Столкновение с одним объектом (или даже одной плоскостью объекта) - без проблем. Обработка сразу нескольких коллизий в одной итерации решалась у меня с костылями.
CasDev
> прямым заданием координат
Лучше уж скорость обнулять - гораздо лучше...
А вообще в боксе для игр с видом сверху, вместо трения можно попробовать linearDamping.
angru
А если объекты будут сложной формы, вращаться, либо двигаться быстро как пуля?
>box2d не сможет отследить коллизии, я пробовал, у меня персонаж перемещался сквозь другие обьекты.
Что, прям в листенере нет событий? Не верю )
Я очень советую прикрутить физическую библиотечку, проверенную годами. Она попросту - более универсальна (если потребуется введение новых фич), очень проста и достаточно широко используется.
Jugos
+
CasDev
> объекты будут сложной формы
Вот! Это то, что меня каждый раз обламывает, когда я порываюсь, взять да и выкинуть Box2d, когда не используется большая часть его возможностей. Оно то все можно... но сколько ж времени надо потратить, на создание очередного велосипеда...
CasDev
> Я очень советую прикрутить физическую библиотечку, проверенную годами.
Присоединяюсь... И могу еще посоветовать пересмотреть посты по Боксу на форуме...
> А у тебя есть углы? Или хотя бы просто 2 рядом расположенных объекта в которые можно "упереться" в одной итерации? На сколько корректно в таких ситуациях отрабатывает?
У меня будут просто не вращающиеся прямоугольники. Как работает можно посмотреть здесь. Запускать bang. Проверить как работает сразу с двумя обьектами можно покрутившись возле дерева с колодцем, это два разных спрайта. Сразу скажу: графика абсолютно не моя, взял пока из GunFu Deadlands.
> А если объекты будут сложной формы, вращаться, либо двигаться быстро как пуля?
Ничего кроме прямоугольников не планирую, вращаться тоже ничего не будет. Возможно еще будут точки для пуль. А для быстро двигающихся обьектов вроде как можно использовать определение столкновений по лучу, хотя пока справляется и текущая реализация.
> Что, прям в листенере нет событий? Не верю )
я не в курсе. просто когда перемещаешь обьект через импульс, если он сталкивается с каким-нибудь обьектом, он просто упирается в него, а если задавать позицию вручную, то у меня обьекты проходили сквозь друг друга.
Ну а по поводу бокса - пока смысла нет, если собственное решение не будет справляться, то прикручу бокс. Спасибо за советы.
Тема в архиве.