![]() |
Движок для игр-бродилок
Вот наше поле. Вот наш человечек. Вот наши препятствия:горизонтальные (пол) которые сгруппированы в спрайт по имени "Bottom", и соответственно вертикальные (стены), сгруппированные в спрайт по имени "walls". Как пооптимальнее и покороче написать код, который будет проверять, не врезался ли player в стену или не замуровался ли он в пол, и если что ставить этого player'а на нужное место.
:quiet: |
Tile`ами будет в самый раз.
|
не понял
|
Ты странный вопрос задаешь =)) У меня алгоритм движения персонажа занимает более 400 строк чистого кода =) Я делал просто - взял Обьект валлс и всё туда впихнул - по циклу проверяю - если обект в зоне видимости - то по циклу проверяет все обьекты в зоне видимости на столкновение - с помощью хит теста =)
Что ты имелл ввиду я немного не понял =) Цитата:
|
flixel.org
|
Tile - это ячейка. Разбиваем всё игровое поле на равные ячейки. Если игрок помещается в одну ячейку, ровно, как и одно препятствие - на столкновение нужно проверить только 8 смежных ячеек. Это один из самых оптимальных и быстрых решений. Непосредственно столкновения лучше определять математикой, например, областями Воронного.
|
Цитата:
|
Это для оптимизации. Зачем проверять столкновения между объектами, которые находяся в разных концах сцены?
http://noregret.org/tutor/n/ |
Цитата:
Я тож когда-то так делал, работало. Но когда захотелось сделать в игре небольшой мего левел, все недостатки и всплыли. Psycho Tiger Цитата:
|
Цитата:
|
| Часовой пояс GMT +4, время: 00:45. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.