|
|
« Предыдущая тема | Следующая тема » |
Опции темы | Опции просмотра |
|
|
|||||
Регистрация: Nov 2009
Адрес: СПб
Сообщений: 2,236
|
Коллизия двух мувиклипов - как проще?
2D-платформер. Препятствие представлено прямоугольным объектом, который расширяется и сжимается по горизонтали. Примерно в полтора-два раза. Персонаж перепрыгивает его рыбкой по параболе и при этом слегка сучит ногами-руками в полете. Причем, персонаж достаточно крупный и задел он или не задел препятствие хорошо видно. И препятствие и персонаж представлены двумя мувиклипами.
Как проще обработать коллизию? В частности, интересует критический случай, когда перс чуть-чуть не допрыгнул. Визуально это выглядит как то, что он перепрыгивает препятствие, но задевает его ногами. Была мысль представить препятствие прямоугольником, а перса набором окружностей, этаким снеговиком. Но пока не уверен. |
|
|||||
Регистрация: Nov 2009
Адрес: СПб
Сообщений: 2,236
|
Посмотрел Nape. Что-то сомневаюсь, что это час.
С другой стороны, я тут сам для себя выяснил, что у меня фактически задача сводится к поиску пересечения двух прямоугольников, расположенных под углом друг к другу, причем, все координаты известны. Не хочется изобретать очередной велосипед, но что-то готовых функций в Инете не вижу. |
|
|||||
Если без физ движка, как вариант, после прижка запускать покадровый обработчик. В теле которого получались позиции ( localToGlobal ) невидимих анкерных точек, которые создавали б каркас ( если анимация так же менялись с роликом ), и так же с препятствием. Соотвественно дальше нужно было всего лишь проверить, нет ли пересечений. Но конечно лучше делать препроверку. Т.е. сразу после прижка запускать механизм который просчитывал траекторию, правда если в полёте происходит управление персонажем, это не лучший совет. Лучший совет, как по мне, конечно же за товарищем caseyryan
__________________
return this... |
|
|||||
Регистрация: Nov 2009
Адрес: СПб
Сообщений: 2,236
|
Ок, убедили, пошел на офсайт нейпа.
|
|
|||||
У нейпа еще плюс в том, что можно двигать объекты не по физике. Запретить вращение объектов, отключить гравитацию и перемещать их как и обычные дисплей объекты. В отличие от того же бокс2д, где перемещение тела простым присвоением ему новых координат было настоящей занозой в заднице. То есть это конечно работало, но было очень ресурсоемкой операций и иногда глючило. Здесь же легко можно отрабатывать только столкновения, при этом исползовать не кинематические тела, а простые динамические
|
|
|||||
Регистрация: Mar 2012
Сообщений: 7
|
Можно представить 1 прямоугольник в виде 2-х треугольников, затем проверить вхождение в эти треугольники вершин другого прямоугольника, если входят, то пересекаются.
Затем поменять их ролями и проделать то же самое. Все формулы пересечения точки и треугольника тут: http://cyber-code.ru/tochka_v_treugolnike/ |
Часовой пояс GMT +4, время: 16:01. |
|
« Предыдущая тема | Следующая тема » |
|
|