![]() |
|
||||||||||
|
|||||
|
Всем привет....
сейчас пишу игрушку, простенькую аркаду человек бегает по городу, ну собирает всякие фишки - стреляет и прочее... (ну заказщик такую хочет )...... Вот короче всё круто, город отрисовал, человечка тожа, типа бегает... Вот тока тормозит жуть ... Что имеем: 1) fps - 24 2) отдельный мувик с анимацией для "человека" 3) город тожа в отдельном мувике (в векторах - длина около 2000 пикселов... ) 4)Движение происходит след. образом: человек стоит, город двигается / через проперти "_x" / ... на каждое нажатие кнопок +/- 30pix... соответственно...... Размышления: жутко тормозит, меня аж бесит... Вот блин на MTV.ru "падушки" - вот это круто всё летает... Не могу понять как сделать так, чтобы избежать тупово +/- 30pix... хочется промежуточного движения города, если делать +/- 1пикс, то очень маленький шаг и тормозит ещё больше..... в цикле прогнать 30pix тожа не получается... если писать что-то вроде: old_x=getproperty("_x") while(myX<30) { myX=myX+1; setproperty("_x",old_x+myX); } то он промежутки пролетает так быстро, что одно и тоже получается что и написать setproperty("_x",x+30) ................. Ну собственно Вопросы: 1) как правильно, сделать цикл, чтобы плавно мои 30pix'ов пролетели... а не резко +/- 30pix 2) Я понимаю, что отчасти тормозит игрушка из-за сложности города, т.к.он в векторах (кстати идея попробую сделать скриншот и запихать в растр =) ).. Но всё же, может можно как-то заставить работать её быстрее.. ну очень мне нравится глупая "подушка-МтВ" летает сказка --------- Кто что думает ?, зараннее спасибо... ![]() |
|
|||||
|
Как на МТВ.ру "подушка" реализовали что к примеру:
1) человек бежит - у нас нажата скажем key.LEFT 2) нажали пробел и не отпустили key.LEFT... 3) отпустили пробел, и всё ещё держим key.LEFT 4) А человек собака бежит дальше !...... как !? ... у меня зараза после выстрела, приходится отпускать LEFT и опять её жать =( .......???? |
|
|||||
|
некрофил
Регистрация: Mar 2002
Адрес: ...по колено в кровище...
Сообщений: 2,292
|
Нуууу..... блин у тебя и вопросики.... Второй решается простым кейдауном - кейапом. Первый - стопишь игрушку на энное количество фреймов и совершаешь перемещение обстановки.
__________________
...убивать людей не удовольствия ради, но для еды. |
|
|||||
|
попробуй город положить в мувики (при помощи моушен твининга создать движение из одного края города в другой в одном клипе и в обратную сторону в другом... с одинаковым числом фреймов и соответственно один из них видимый, другой невидимый и плеишь его под кнопку...
узнать начальное положение второго мувика города просто - от количества фреймов в мувике отнимаешь номер мувика в другом мувике... ...если я правильно понял вопрос... плавность гарантируется...
__________________
eMIR'у-мир, войны ненужно... давайте жить дружно! |
|
|||||
|
Регистрация: Jan 2001
Адрес: Бишкек
Сообщений: 54
|
кстати "подушки" делала СТУДИЯ ЛЕБЕДЕВА
http://www.design.ru/portfolio/mtv/game/ может у них и спросишь? ![]()
__________________
я не тормоз....... я долго думаю... loading............... |
|
|||||
|
я не знаю как ты двигаешь клип с городом... предложу такой вариант. Описываешь событие для клипа с ландшафтом города:
onClipEvent(enterFrame){ if (up){ t++; this._y--; if (t==30){ up=false; } } } объясню, при нажатии на кнопку вверх нужно установить переменную UP=true следи за путями. клип с городом сделает 30 рывком по 1 пикселу с частотой обновления кадров в мувике, т.е. где то за (24/30) сек. а потом сбросит значение переменной UP и будет ждать следующего нажатия. Кстати, может клип с городом разбить хотя бы на 4 части? и проверять какая часть показывается, а в случае выхода на следующую тут же атачить нужный кусок, тада город можно сделать побольше а тормозов поменьше. А с клавишами катавасия у тебя потому что нужно при событии "нажатие на клавишу" выставлять флаг для это клавиши, а при событии "отпусканиея клавиши" сбрасывать флаг. тогда ты хоть как на пианинЕ жми по 5 клавиш одновременно, все будут работать нормально.
__________________
Max. |
![]() |
Часовой пояс GMT +4, время: 19:21. |
|
|
« Предыдущая тема | Следующая тема » |
|
|