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

Вернуться   Форум Flasher.ru > Flash > ActionScript 1.0/2.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 27.06.2005, 14:09
eXaile вне форума Посмотреть профиль Отправить личное сообщение для eXaile Найти все сообщения от eXaile
  № 1  
Ответить с цитированием
eXaile
 
Аватар для eXaile

Регистрация: Jun 2005
Сообщений: 6
Отправить сообщение для eXaile с помощью ICQ
По умолчанию вопрос по реализации платформера

Вообщем мне недавно в голову пришла идея реализовать платформер (2D игра с видом сбоку, лод раннер короче =)) Попытался сделать - не получилось, выяснилось что не обладаю достаточными навыками, при попытки сделать обыкновенное движение влево/вправо при нажатии кнопки на клавиатуре столкнулся с проблемой: вообщем объект перемещается вправо/влево, но в моем случае объект - человек, то бишь должен двигать ногами, так вот, при нажатии влево/вправо он один раз полностью проигрывал анимацию движения ногами и все, или при зажатии кнопки анимация все время начиналась с начала, получалось как бы дрыганье ногами =) Я делал, чтобы при нажатии кнопки проигрывалась анимация в мувиклипе (вначале она стояла на stop'e)... Вот... Теперь сам вопрос: как можно правильно реализовать чтобы при нажатие кнопки оъект (человек) бежал влево/вправо нормально проигрывая анимацию бега

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

блогер
Регистрация: Jun 2005
Адрес: RU
Сообщений: 1,540
Записей в блоге: 12
Цитата:
Сообщение от eXaile
Вообщем мне недавно в голову пришла идея реализовать платформер (2D игра с видом сбоку, лод раннер короче =)) Попытался сделать - не получилось, выяснилось что не обладаю достаточными навыками, при попытки сделать обыкновенное движение влево/вправо при нажатии кнопки на клавиатуре столкнулся с проблемой: вообщем объект перемещается вправо/влево, но в моем случае объект - человек, то бишь должен двигать ногами, так вот, при нажатии влево/вправо он один раз полностью проигрывал анимацию движения ногами и все, или при зажатии кнопки анимация все время начиналась с начала, получалось как бы дрыганье ногами =) Я делал, чтобы при нажатии кнопки проигрывалась анимация в мувиклипе (вначале она стояла на stop'e)... Вот... Теперь сам вопрос: как можно правильно реализовать чтобы при нажатие кнопки оъект (человек) бежал влево/вправо нормально проигрывая анимацию бега
Поставь в каждом кадре

if(!Key.isDown(Key.LEFT) && !Key.isDown(Key.RIGHT)){
gotoAndStop(1)}

Старый 27.06.2005, 20:19
Буньков Максим вне форума Посмотреть профиль Отправить личное сообщение для Буньков Максим Посетить домашнюю страницу Буньков Максим Найти все сообщения от Буньков Максим
  № 3  
Ответить с цитированием
Буньков Максим
 
Аватар для Буньков Максим

Регистрация: Feb 2003
Адрес: Екатеринбург
Сообщений: 848
Отправить сообщение для Буньков Максим с помощью ICQ
Ну если по умному сделать, то это один клип... на определеннх кадрах у тебя он бегает влево потом в право вверх вниз, разделяет их gotoAndPlay и на метку что проигрывается. В главном же мовике надо скан клавишь поставить см пост выше, и еще один листенер на отжатие, а потом основываясь какая событелка произошла, с того кадра лодерунера и запускать, или переводить на 1... ну в общем подумай не трудно это... больше маяты чем думанья.
__________________
С уважением, Maksi.

Старый 27.06.2005, 20:27
eXaile вне форума Посмотреть профиль Отправить личное сообщение для eXaile Найти все сообщения от eXaile
  № 4  
Ответить с цитированием
eXaile
 
Аватар для eXaile

Регистрация: Jun 2005
Сообщений: 6
Отправить сообщение для eXaile с помощью ICQ
2TERRORist: у меня не в этом проблема, у меня проблема в том , что при зажатии кнопки влево анимация все время проигрывается с второго кадра клипа, там где стоит начало анимации движения ногами
2Буньков Максим: че т я немного непонял твою фразу =)) Во-первых я непомню что есть листнер, во - вторых какой скан клавиш? Да и еще вопрос: как сделать реагирование на платфору? ну, что если он стоит на платформе которая посередине экрана и потом сходит с нее он падает вниз... Вообщем когда ты бываешь в асе? А то вопросами нафих завалю этот топик =))

Старый 27.06.2005, 20:45
Буньков Максим вне форума Посмотреть профиль Отправить личное сообщение для Буньков Максим Посетить домашнюю страницу Буньков Максим Найти все сообщения от Буньков Максим
  № 5  
Ответить с цитированием
Буньков Максим
 
Аватар для Буньков Максим

Регистрация: Feb 2003
Адрес: Екатеринбург
Сообщений: 848
Отправить сообщение для Буньков Максим с помощью ICQ
Листенер это хрень такая кульная, в общем прослушивает события, и выполняет функции. вобщем тебе надо евенты (события) onKeyDown и onKeyUp в общем один происходит если нажал кнопку и если держишь он помоему выполняется всевремя, в отличии от листенра Mause. ну все там функции пиши при проихождении событий
__________________
С уважением, Maksi.

Старый 28.06.2005, 00:11
sergwizard вне форума Посмотреть профиль Отправить личное сообщение для sergwizard Посетить домашнюю страницу sergwizard Найти все сообщения от sergwizard
  № 6  
Ответить с цитированием
sergwizard
 
Аватар для sergwizard

Регистрация: Jan 2002
Адрес: СПб-Denver-Лермонтов
Сообщений: 1,525
Цитата:
....и еще один листенер на отжатие, а потом основываясь какая событелка произошла,....
....вобщем тебе надо евенты (события) onKeyDown и onKeyUp
Не слишком ли много листенеров ты советуешь? Одного не достаточно? А 'onKeyUp' зачем?
А вообще-то, вместо многих слов, - лучше маленький пример.
Вложения
Тип файла: zip 4eXaile.zip (7.6 Кб, 160 просмотров)
__________________
Для того чтобы узнавать, есть два способа: - задавать вопросы и пытаться самому на них ответить. Второй способ более продуктивный.
(S.Wizard)

Старый 28.06.2005, 06:55
Буньков Максим вне форума Посмотреть профиль Отправить личное сообщение для Буньков Максим Посетить домашнюю страницу Буньков Максим Найти все сообщения от Буньков Максим
  № 7  
Ответить с цитированием
Буньков Максим
 
Аватар для Буньков Максим

Регистрация: Feb 2003
Адрес: Екатеринбург
Сообщений: 848
Отправить сообщение для Буньков Максим с помощью ICQ
onKeyUp тока для того чтоб зааттачить клип где человечик стоит. Но пожно и без этого обойтись. ну в общем в примере хорошо показано.
И еще в примере.. лучше юзай листенер, это как то все таки профессионалней, а вместо onKeyEnter юзай setInterval всяка меньше проц хавает.
__________________
С уважением, Maksi.

Старый 28.06.2005, 11:14
eXaile вне форума Посмотреть профиль Отправить личное сообщение для eXaile Найти все сообщения от eXaile
  № 8  
Ответить с цитированием
eXaile
 
Аватар для eXaile

Регистрация: Jun 2005
Сообщений: 6
Отправить сообщение для eXaile с помощью ICQ
2sergwizard: thx за пример, но просто тупо копировать мне не хочется, можешь объяснить пару строк оттуда? =)
1) obj={};
obj.onKeyDown = function(){

↑↑↑↑↑↑
Во первых что делают эти 2 строки?

***

2) delete man.onEnterFrame;
}
}
}
Key.addListener(obj)
man.stop();

↑↑↑↑↑↑
И наконец эти строки ^_^

Да, и еще, как можно сделать чтобы при отжимании кнопки он плавно возвращался к начальной стойке, конечно, можно через

бла бла бла
}else{
man.GotoAndStop(1);

но тогда он резко вернется к 1 кадру =( Конечно можно сделать на каждый кадр проверку , кадр ли это <n> и если да то проигрывать анимацию , которую вначале сделал для возварщения из кадра <n> в начальную позицию... но есть ли другие способы? =)

2Буньков Максим: ты лучше про платформы мне объясни =)


Последний раз редактировалось eXaile; 28.06.2005 в 11:46.
Старый 28.06.2005, 20:09
Буньков Максим вне форума Посмотреть профиль Отправить личное сообщение для Буньков Максим Посетить домашнюю страницу Буньков Максим Найти все сообщения от Буньков Максим
  № 9  
Ответить с цитированием
Буньков Максим
 
Аватар для Буньков Максим

Регистрация: Feb 2003
Адрес: Екатеринбург
Сообщений: 848
Отправить сообщение для Буньков Максим с помощью ICQ
Цитата:
Сообщение от eXaile
2sergwizard: thx за пример, но просто тупо копировать мне не хочется, можешь объяснить пару строк оттуда? =)
1) obj={};
obj.onKeyDown = function(){

↑↑↑↑↑↑
Во первых что делают эти 2 строки?

***

2) delete man.onEnterFrame;
}
}
}
Key.addListener(obj)
man.stop();

↑↑↑↑↑↑
И наконец эти строки ^_^

Да, и еще, как можно сделать чтобы при отжимании кнопки он плавно возвращался к начальной стойке, конечно, можно через

бла бла бла
}else{
man.GotoAndStop(1);

но тогда он резко вернется к 1 кадру =( Конечно можно сделать на каждый кадр проверку , кадр ли это <n> и если да то проигрывать анимацию , которую вначале сделал для возварщения из кадра <n> в начальную позицию... но есть ли другие способы? =)

2Буньков Максим: ты лучше про платформы мне объясни =)
obj={};// Создаем объект, там где то его объявили листенером Key
obj.onKeyDown = function(){ //при появлении нажатий кнопки выполняем функцию
delete man.onEnterFrame;//убиваем из оперы данную функцию...
}
}
}
Key.addListener(obj)//а вот и делаем obj листенером Key( он ща будет слшушать все события кнопок при нажатии...
man.stop();//ну это сам догадайся...
А что тебя про платформы интересует?...
__________________
С уважением, Maksi.

Старый 29.06.2005, 11:43
Psycho Tiger вне форума Посмотреть профиль Отправить личное сообщение для Psycho Tiger Найти все сообщения от Psycho Tiger
  № 10  
Ответить с цитированием
Psycho Tiger
 
Аватар для Psycho Tiger

блогер
Регистрация: Jun 2005
Адрес: Toronto
Сообщений: 6,601
Записей в блоге: 17
Ладно, чтоб реагировал на платформы -
Есть такая штука - getBounds(targetCoordinatSpace)
Пишешь в ентер фрэйме
bound=this.getBounds(_root);
а далее при помощи yMax,yMin,xMin,yMax выевляешь
максимальные и минимальные значения x и y.
Далее прохитестиваешь их всех с игроком - вот он и чувствует платформы.
P.S злость я на тебе не срываю, просто ты просишь систему игрового скрипта.
А потом, скорее всего, и сам исходник. Дое того ышшо не дошло.
И мой тебе совет - лод раннер игруха не из простых, лучше начни с арканоида.
Хорошего. Ето не так то просто сделать в первый раз, как кажется.

Создать новую тему Ответ Часовой пояс GMT +4, время: 10:43.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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