![]() |
|
||||||||||
|
|||||
|
Вот наше поле. Вот наш человечек. Вот наши препятствия:горизонтальные (пол) которые сгруппированы в спрайт по имени "Bottom", и соответственно вертикальные (стены), сгруппированные в спрайт по имени "walls". Как пооптимальнее и покороче написать код, который будет проверять, не врезался ли player в стену или не замуровался ли он в пол, и если что ставить этого player'а на нужное место.
![]() |
|
|||||
|
Tile`ами будет в самый раз.
__________________
Тут мужик танцует и поёт про флэш |
|
|||||
|
не понял
|
|
|||||
|
Регистрация: Aug 2010
Сообщений: 44
|
Ты странный вопрос задаешь =)) У меня алгоритм движения персонажа занимает более 400 строк чистого кода =) Я делал просто - взял Обьект валлс и всё туда впихнул - по циклу проверяю - если обект в зоне видимости - то по циклу проверяет все обьекты в зоне видимости на столкновение - с помощью хит теста =)
Что ты имелл ввиду я немного не понял =) Цитата:
|
|
|||||
|
Tile - это ячейка. Разбиваем всё игровое поле на равные ячейки. Если игрок помещается в одну ячейку, ровно, как и одно препятствие - на столкновение нужно проверить только 8 смежных ячеек. Это один из самых оптимальных и быстрых решений. Непосредственно столкновения лучше определять математикой, например, областями Воронного.
__________________
Тут мужик танцует и поёт про флэш |
|
|||||
|
Цитата:
![]() |
|
|||||
|
Цитата:
Я тож когда-то так делал, работало. Но когда захотелось сделать в игре небольшой мего левел, все недостатки и всплыли. Psycho Tiger Цитата:
![]()
__________________
Дети не должны знать о своих родителях |
|
|||||
|
Регистрация: Jun 2008
Сообщений: 205
|
И какие недостатки? Можете рассказать?
|
![]() |
![]() |
Часовой пояс GMT +4, время: 21:15. |
|
|
« Предыдущая тема | Следующая тема » |
| Теги |
| AS3 , flash , Игры на flash , оптимизация |
|
|