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

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

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

Регистрация: Nov 2012
Сообщений: 9
Question Управление в игре

Всем добрый вечер!))
Я пробую сделать свою игрушку на флеш)) Пока пробую самыми глупыми способами)) Но всё только для пробы
и саморазвития =) На ActionScript 3.0 пока переходить не хочу) Для начала выучу ActionScript 2.0
А теперь ближе к делу!

Я хочу чтобы при нажатии клавиши "Shift" скорость игрока увеличивалась (Это у меня получилось))
Но в чем проблема! Вернуть обратную скорость не могу(( Вот код далее пояснение ;D

Код AS1/AS2:
onClipEvent (enterFrame) {
	//**//Движение персонажа//**/
	if (Key.isDown(65)) {
		_root.player._x -= sh;
	}
	if (Key.isDown(68)) {
		_root.player._x += sh;
	}
	if (Key.isDown(87)) {
		_root.player._y -= sh;
	}
	if (Key.isDown(83)) {
		_root.player._y += sh;
	}
 
 
	if (Key.isDown(16)) {  // Вот собственно клавиша "Shift" при её нажатии переменная sh увеличивается до 10, но мне нужно чтобы при отпуске клавиши переменная снова равнялась 5.
		sh = 10;
	}



То есть я не знаю что можно использовать вместо isDown. Есть ли Обратная команда? В интернете не нашёл))
А "Листнеры" или как их там использовать пока не хочу в виду своих малых познаний xD))


За столь низкий, "нубский" "багаж" знаний прошу строго не судить!)) "Нуб, он и в Африке нуб" ))


Последний раз редактировалось mooncar; 10.04.2013 в 10:34.
Старый 10.04.2013, 00:31
dark256 вне форума Посмотреть профиль Отправить личное сообщение для dark256 Посетить домашнюю страницу dark256 Найти все сообщения от dark256
  № 2  
Ответить с цитированием
dark256
 
Аватар для dark256

блогер
Регистрация: Apr 2008
Адрес: SPb
Сообщений: 3,718
Записей в блоге: 5
Отправить сообщение для dark256 с помощью ICQ Отправить сообщение для dark256 с помощью Skype™
1. Измените название темы. Более внятно.
2. Для оформления кода есть соотв. тэги.
3. Читайте http://xitri.com/
__________________
FLASHER.MAP SOUNDSTAGE / CS3 / AS2

Старый 10.04.2013, 09:04
Hauts вне форума Посмотреть профиль Отправить личное сообщение для Hauts Посетить домашнюю страницу Hauts Найти все сообщения от Hauts
  № 3  
Ответить с цитированием
Hauts
 
Аватар для Hauts

блогер
Регистрация: Feb 2008
Адрес: Россия, Новосибирск, Академгородок
Сообщений: 2,113
Записей в блоге: 1
Отправить сообщение для Hauts с помощью ICQ Отправить сообщение для Hauts с помощью Skype™
YouRDooM, с таким подходом ничего хорошего не получится.

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

По-хорошему нужно задавать скорость и направление игрока, а компоненты его смещения по осям высчитывать — те же косинус и синус угла в радианах. Но, я так чувствую, это для вас сложно и вам такого решения не нужно.

Поэтому:
Код AS1/AS2:
if (Key.isDown(16)) {
    sh = 10;
} else {
    sh = 5;
}
Ах да, нужна еще куча смайлов в коде, он так быстрее и правильнее будет работать.

Оффтоп:
dark256, я уж подумал, что модератором больше на форуме стало
__________________
hauts.ru

Старый 10.04.2013, 16:11
YouRDooM вне форума Посмотреть профиль Отправить личное сообщение для YouRDooM Найти все сообщения от YouRDooM
  № 4  
Ответить с цитированием
YouRDooM

Регистрация: Nov 2012
Сообщений: 9
Спасибо)))

Старый 10.04.2013, 09:58
dark256 вне форума Посмотреть профиль Отправить личное сообщение для dark256 Посетить домашнюю страницу dark256 Найти все сообщения от dark256
  № 5  
Ответить с цитированием
dark256
 
Аватар для dark256

блогер
Регистрация: Apr 2008
Адрес: SPb
Сообщений: 3,718
Записей в блоге: 5
Отправить сообщение для dark256 с помощью ICQ Отправить сообщение для dark256 с помощью Skype™
Нет нет нет! Не дай бог! Просто паттерны выражений модераторов втемяшились в серый процессор на уровне подсознательных шаблонов общения
__________________
FLASHER.MAP SOUNDSTAGE / CS3 / AS2

Старый 10.04.2013, 10:44
caseyryan вне форума Посмотреть профиль Отправить личное сообщение для caseyryan Найти все сообщения от caseyryan
  № 6  
Ответить с цитированием
caseyryan
 
Аватар для caseyryan

Регистрация: Jun 2012
Адрес: Новосибирск
Сообщений: 6,644
Записей в блоге: 4
Цитата:
Для начала выучу ActionScript 2.0
Заведомо тупиковый путь развития
Уже об ас4 разговоры во всю прут, а тут ас2.. )

Старый 10.04.2013, 13:38
dark256 вне форума Посмотреть профиль Отправить личное сообщение для dark256 Посетить домашнюю страницу dark256 Найти все сообщения от dark256
  № 7  
Ответить с цитированием
dark256
 
Аватар для dark256

блогер
Регистрация: Apr 2008
Адрес: SPb
Сообщений: 3,718
Записей в блоге: 5
Отправить сообщение для dark256 с помощью ICQ Отправить сообщение для dark256 с помощью Skype™
В школах до сих пор Basic дают для начала, что ж теперь - не учиться?
__________________
FLASHER.MAP SOUNDSTAGE / CS3 / AS2

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

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

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


 


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


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