![]() |
|
||||||||||
|
|||||
|
Привет.
Занялся игрой.. Вот что есть: http://flashart.com.ua/2 .. Возникли вопросы: 1. Как легче всего реализовать движение персонажа без задержки после нажатия одной из стрелок. 2. Как грамотней всего запрограммировать препятствия? Неужели придется все препятствия для перса ограничивать if-ами? (Имеется в виду, чтоб он, натыкаясь на них, не пер сквозь) Пока все..
__________________
Платон мне друг, но истина в вине. |
|
|||||
|
Вся игра основана на логике, и тем самым if нужен!
Например: Он движется, если объект есть, то он НЕ должен идти на сквозь, он должен остановится... Пропиши координаты объекта и персонажа, и управляй им! |
|
|||||
|
Ну понятно, что нужен! Имелось в виду, что сравнивать постоянно if-ом координаты персонажа и препятствия хлопотно. И я нашел другой способ. Создавать прозрачный объект, соответствующий по размерам пространству, занимаемому препятствием на полу. И хитТестом сравнивать этот объект с тапками перса.. и не пускать его, если контачит..
__________________
Платон мне друг, но истина в вине. |
|
|||||
|
Регистрация: Nov 2006
Сообщений: 177
|
Без if'ов по-любому не получится. Можно допустим изначально прописать массив координат препятствий и потом с помощью его перебора, сравнивания позиции человечка с его значениями, проверять возможен ли ход.
|
|
|||||
|
препятствия можно натыкать на персонажа hitTest'ом
без всяких if
__________________
"We Are The Champions My Friends!" Queen |
|
|||||
|
Там еще одна проблема возникнет-нужно будет находить координаты xmax xmin ymax ymin препятствия и чтобы когда их задеваешь тебя не пускало, или отталкивало на той скорости, с которой перс ходит, чтобы скорость была равна 0, но как найти эти координаты, по моему как то через getBounds вроде, незнаю
|
|
|||||
|
Регистрация: Nov 2006
Сообщений: 177
|
Кстати можно еще сделать прозрачный битмап, на нём нарисовать препятствия и проверять позицию тапок на цвет соответствующего пикселя: если прозрачный, то можно идти. Правда тоже есть свои минусы...
Последний раз редактировалось combo; 30.01.2007 в 15:33. |
|
|||||
|
жесть ребятки...
чем вам хиттест то неугодил?
__________________
"We Are The Champions My Friends!" Queen |
|
|||||
|
Так вот я и говорю хиттест, а как еще делать то? Но надо узнать x y max координаты,
если обычная скорость равна 5 if(this.hitTest(_root.bed,getBounds,xmax) this._x-=5; if(this.hitTest(_root.bed,getBounds,xmix) this._x+=5; if(this.hitTest(_root.bed,getBounds,ymix) this._y+=5; if(this.hitTest(_root.bed,getBounds,ymax) this._y-=5; но код пишется как то подругому, я незнаю как определять xmax min для мувика |
|
|||||
|
__________________
"We Are The Champions My Friends!" Queen |
![]() |
![]() |
Часовой пояс GMT +4, время: 00:28. |
|
|
« Предыдущая тема | Следующая тема » |
|
|