![]() |
Выталкивание из bitmapdata
Всем привет. Задумался недавно как в игре(шутер и вид сверху) выталкивать юнитов из препятствий которые являют собой большую битмапдату. Причём препятствия сложной, произвольной формы и предполагаю что их нельзя описать математически. В голову пришло два способа:
1) преобразовать бутмапу так чтобы каждый пиксел(не прозрачный) имел в своём цвете направление и силу выталкивания. И когда юнит хиттестит с этим пикселом, то пиксел отправляет юнит в свободное и близжайшее место. но это может занять значительное время и довольно таки нетривиальная задачка получается вообще. 2) запоминать предыдущею координату юнита каждый кадр и если юнит сталкивается с препятствием то двигать его обратно в сторону прошлой координаты, пока юнит не выталкнется. В общем всё довольно интересно и сложно. Вопрос - может кто знает более простой или правильный способ решения? |
Зачем их оттуда выталкивать? Можно же просто не двигать персонажа, если после сдвига он будет заходить на непрозрачный пиксел.
Задача довольно простая. Главное проверять столкновение до того, как смещать персонажа. |
| Часовой пояс GMT +4, время: 07:50. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.