Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Архив Flasher.ru > Flash > ActionScript

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему  
Старый 03.04.2004, 16:42
  № 1  
Джерк
Guest

Сообщений: n/a
По умолчанию Как сделать прыжок?

Как сделать прыжок в игре путем программирования?

Старый 04.04.2004, 02:07
Dindin вне форума Посмотреть профиль Отправить личное сообщение для Dindin Посетить домашнюю страницу Dindin Найти все сообщения от Dindin
  № 2  
Dindin
 
Аватар для Dindin

Регистрация: Feb 2004
Адрес: на колокольне Любит: плеваться
Сообщений: 1,769
Отправить сообщение для Dindin с помощью ICQ
Куда прыгать будем? (т.е. уточни вопрос)
__________________
судью - на мыло, из игроков - вить веревки.

Старый 04.04.2004, 12:59
  № 3  
AleXNoD
Guest

Сообщений: n/a
Прыжки во флэше - это моя специальность

В объект Movie Clip вставляешь скрипт:

Код:
onClipEvent (load) {
         H = "число";
         G = "число";
	speed = -H;
        
}
onClipEvent (enterFrame) {
	if (Key.isDown(Key.UP) || (!Key.isDown(Key.UP) && speed>-H)) {
		_y += speed;
		speed += G;
		if (speed>H) {
			speed = -H;
		}
	}
}
Значит, здесь максимальная высота прыжка зависит от переменной "H" (в этом случае я ставил 10), а... ну сила притяжения Земли от переменной "G" (в этом случае я ставил 0.5).

В этом примере прыжок осуществляется при нажатии клавиши "UP" (т.е. ВВЕРХ). Вместо "UP" можно написать другую клавишу, например SPACE (пробел) и др.

Прыжок можно сочетать с движением вправо или влево. Тогда получится прыжок в длину.

Удачи!

Старый 04.04.2004, 22:29
silin вне форума Посмотреть профиль Посетить домашнюю страницу silin Найти все сообщения от silin
  № 4  
silin
 
Аватар для silin

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
логичнее мне кажется прыжок определять начальной скоростью
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);//скорость
}


Последний раз редактировалось silin; 04.04.2004 в 22:31.
Старый 04.04.2004, 22:58
silin вне форума Посмотреть профиль Посетить домашнюю страницу silin Найти все сообщения от silin
  № 5  
silin
 
Аватар для silin

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
вот до кучи влево-вправо учел
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, время: 21:11.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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