Столкновение. Расстояние между объектами
|
|
Major_Tom | Дата: Понедельник, 25 Августа 2014, 10:06 | Сообщение # 1 |
постоянный участник
Сейчас нет на сайте
| При столкновении одного объекта с другим сделал остановку сталкивающегося объекта,но между объектами остается небольшое расстояние. Маски спрайтов обоих объектов модифицированы на полное изображение. Можно ли как-то решить эту проблему? А так же есть еще один вопрос:есть ли функция,которая проверяет столкновение с КООРДИНАТАМИ объекта,т.е мне надо,чтобы событие просиходило только при столкновении сверху/cбоку/снизу?
MajorTom Blog
Сообщение отредактировал Major_Tom - Понедельник, 25 Августа 2014, 10:06 |
|
| |
XDominator | Дата: Понедельник, 25 Августа 2014, 11:51 | Сообщение # 2 |
постоянный участник
Сейчас нет на сайте
| Чтобы реализовать остановку объектов друг рядом с другом, нужно писать свои алгоритмы. Простейший вариант - остановку делать не в шаг проверки столкновения, а в следующий. Проверки на координаты тоже нет, НО можно создать отдельные объекты, прилепить их у нужному месту объекта с соответствующей маской, и проверять столкновения не с объектом, а с этими подобъектами-масками.
Ghaarp
The soul lighter(Android, logic)
Zzzzombie RAGE!!!(For android)
|
|
| |
LunarPixel | Дата: Понедельник, 25 Августа 2014, 12:23 | Сообщение # 3 |
старожил
Сейчас нет на сайте
| 1. move_contact_solid, думаю, подойдет 2. тут много вариантов придумать можно, например, проверять угол между объектами, чтобы узнать с какой стороны один по отношению к другому, или просто сравнивать координаты, т.е. если Y одного больше Y другого, то тот выше. Можно пойти на более радикальные методы и сделать проверку, скажем, через collision_point, создав вокруг объекта 4 такие точки и отдельно проверяя каждую из них.
|
|
| |
JAMPER | Дата: Понедельник, 25 Августа 2014, 13:57 | Сообщение # 4 |
почетный гость
Сейчас нет на сайте
| Самый удобный способ - это функция collision_line. Легко можно проверить столкновения сверху/cбоку/снизу, и при этом выдерживать определенные расстояние.
Zombie Day --- "Без шансов" Space Conflict --- игра на Gamiron #8 Kill your brain --- игра на Gamiron #10 Eat them all!--- игра на Gamiron #12
|
|
| |
Folleah | Дата: Понедельник, 25 Августа 2014, 15:39 | Сообщение # 5 |
Архитектор
Сейчас нет на сайте
| xD Простой способ - уменьшить маску объекта на 1-2 пикселя.
Сообщение отредактировал Folleah - Понедельник, 25 Августа 2014, 15:39 |
|
| |
Major_Tom | Дата: Понедельник, 25 Августа 2014, 16:05 | Сообщение # 6 |
постоянный участник
Сейчас нет на сайте
| Спасибо всем кто отозвался! :3
MajorTom Blog
|
|
| |