PDA

Просмотр полной версии : Управление в игре


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

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

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))


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

dark256
10.04.2013, 00:31
1. Измените название темы. Более внятно.
2. Для оформления кода есть соотв. тэги.
3. Читайте http://xitri.com/

Hauts
10.04.2013, 09:04
YouRDooM, с таким подходом ничего хорошего не получится.

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

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

Поэтому:

if (Key.isDown(16)) {
sh = 10;
} else {
sh = 5;
}

Ах да, нужна еще куча смайлов в коде, он так быстрее и правильнее будет работать.

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

dark256
10.04.2013, 09:58
Нет нет нет! Не дай бог! Просто паттерны выражений модераторов втемяшились в серый процессор на уровне подсознательных шаблонов общения :)

caseyryan
10.04.2013, 10:44
Для начала выучу ActionScript 2.0
Заведомо тупиковый путь развития :D
Уже об ас4 разговоры во всю прут, а тут ас2.. )

dark256
10.04.2013, 13:38
В школах до сих пор Basic дают для начала, что ж теперь - не учиться? :)

YouRDooM
10.04.2013, 16:11
Спасибо)))