![]() |
|
||||||||||
|
|||||
|
Регистрация: Aug 2012
Сообщений: 23
|
Всем привет. Задумался недавно как в игре(шутер и вид сверху) выталкивать юнитов из препятствий которые являют собой большую битмапдату. Причём препятствия сложной, произвольной формы и предполагаю что их нельзя описать математически. В голову пришло два способа:
1) преобразовать бутмапу так чтобы каждый пиксел(не прозрачный) имел в своём цвете направление и силу выталкивания. И когда юнит хиттестит с этим пикселом, то пиксел отправляет юнит в свободное и близжайшее место. но это может занять значительное время и довольно таки нетривиальная задачка получается вообще. 2) запоминать предыдущею координату юнита каждый кадр и если юнит сталкивается с препятствием то двигать его обратно в сторону прошлой координаты, пока юнит не выталкнется. В общем всё довольно интересно и сложно. Вопрос - может кто знает более простой или правильный способ решения? |
|
|||||
|
Зачем их оттуда выталкивать? Можно же просто не двигать персонажа, если после сдвига он будет заходить на непрозрачный пиксел.
Задача довольно простая. Главное проверять столкновение до того, как смещать персонажа. |
![]() |
![]() |
Часовой пояс GMT +4, время: 17:54. |
|
|
« Предыдущая тема | Следующая тема » |
|
|