Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript (http://www.flasher.ru/forum/forumdisplay.php?f=5)
-   -   Хочется плавности ! (http://www.flasher.ru/forum/showthread.php?t=31398)

Varas 11.05.2002 16:59

Хочется плавности !
 
Всем привет.... :) сейчас пишу игрушку, простенькую аркаду человек бегает по городу, ну собирает всякие фишки - стреляет и прочее... (ну заказщик такую хочет :) )...... Вот короче всё круто, город отрисовал, человечка тожа, типа бегает... Вот тока тормозит жуть :mad: ...

Что имеем:
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) Я понимаю, что отчасти тормозит игрушка из-за сложности города, т.к.он в векторах (кстати идея попробую сделать скриншот и запихать в растр =) )..
Но всё же, может можно как-то заставить работать её быстрее.. ну очень мне нравится глупая "подушка-МтВ" летает сказка
---------
Кто что думает ?, зараннее спасибо...
;)

Varas 11.05.2002 17:08

и ещё вопрос....
 
Как на МТВ.ру "подушка" реализовали что к примеру:
1) человек бежит - у нас нажата скажем key.LEFT
2) нажали пробел и не отпустили key.LEFT...
3) отпустили пробел, и всё ещё держим key.LEFT
4) А человек собака бежит дальше !......


как !? ... у меня зараза после выстрела, приходится отпускать LEFT и опять её жать =(

.......????

DeliMIter 11.05.2002 18:16

Нуууу..... блин у тебя и вопросики.... Второй решается простым кейдауном - кейапом. Первый - стопишь игрушку на энное количество фреймов и совершаешь перемещение обстановки.

emir 13.05.2002 19:42

по первому вопросу
 
попробуй город положить в мувики (при помощи моушен твининга создать движение из одного края города в другой в одном клипе и в обратную сторону в другом... с одинаковым числом фреймов и соответственно один из них видимый, другой невидимый и плеишь его под кнопку...
узнать начальное положение второго мувика города просто - от количества фреймов в мувике отнимаешь номер мувика в другом мувике...

...если я правильно понял вопрос... плавность гарантируется...

DraKe 13.05.2002 20:11

кстати
 
кстати "подушки" делала СТУДИЯ ЛЕБЕДЕВА
http://www.design.ru/portfolio/mtv/game/

может у них и спросишь? :rolleyes:

Max N Chubin_ 14.05.2002 15:07

а в чем сложность то?
 
я не знаю как ты двигаешь клип с городом... предложу такой вариант. Описываешь событие для клипа с ландшафтом города:

onClipEvent(enterFrame){
if (up){
t++;
this._y--;
if (t==30){
up=false;
}
}
}

объясню, при нажатии на кнопку вверх нужно установить переменную UP=true следи за путями. клип с городом сделает 30 рывком по 1 пикселу с частотой обновления кадров в мувике, т.е. где то за (24/30) сек. а потом сбросит значение переменной UP и будет ждать следующего нажатия.

Кстати, может клип с городом разбить хотя бы на 4 части? и проверять какая часть показывается, а в случае выхода на следующую тут же атачить нужный кусок, тада город можно сделать побольше а тормозов поменьше.
А с клавишами катавасия у тебя потому что нужно при событии "нажатие на клавишу" выставлять флаг для это клавиши, а при событии "отпусканиея клавиши" сбрасывать флаг. тогда ты хоть как на пианинЕ жми по 5 клавиш одновременно, все будут работать нормально.


Часовой пояс GMT +4, время: 03:17.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.