![]() |
Как сделать прыжок?
Как сделать прыжок в игре путем программирования?
|
Куда прыгать будем? (т.е. уточни вопрос)
:) |
Прыжки во флэше - это моя специальность :cool:
В объект Movie Clip вставляешь скрипт: Код:
onClipEvent (load) {В этом примере прыжок осуществляется при нажатии клавиши "UP" (т.е. ВВЕРХ). Вместо "UP" можно написать другую клавишу, например SPACE (пробел) и др. Прыжок можно сочетать с движением вправо или влево. Тогда получится прыжок в длину. Удачи! :D |
логичнее мне кажется прыжок определять начальной скоростью
MovieClip.prototype.jump=function(v){ this.onEnterFrame=function(){ with(this){ _y-=v; v-=g; if(_y>=h0){ _y=h0; delete onEnterFrame; } } } } g=9.81;//ускорение(надо бы на фпс поделить) h0=mc._y;//уровень земли Key.addListener(mc); mc.onKeyDown=function(){ if(Key.isDown(Key.UP)) this.jump(50);//скорость } |
вот до кучи влево-вправо учел
MovieClip.prototype.jump=function(v,dir){//скорость, направление var vv=v*Math.cos(Math.PI*dir/180); var vh=v*Math.sin(Math.PI*dir/180); this.onEnterFrame=function(){ with(this){ _y+=-vv; _x+=vh; vv-=g; if(_y>=h0){ _y=h0; delete onEnterFrame; } } } } g=9.81;//ускорение h0=mc._y;//уровень земли Key.addListener(mc); mc.onKeyDown=function(){ var dir=0; if(Key.isDown(Key.LEFT))dir-=45; if(Key.isDown(Key.RIGHT))dir+=45; if(Key.isDown(Key.UP)) this.jump(50,dir);//скорость } |
| Часовой пояс GMT +4, время: 18:27. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.