Просмотр полной версии : клавиши
у мення такая проблема: есть функцИя (1) она работает при нажатии клавиши (1), есть функцИя (2) она работает при зажимании клавиш (1) и (2). но при отпускании клавиши (2) прЕкращается функцИя (2) и все. Как сделать чтоб при отпускании клавиши (2) опять исполнялась функцИя (1)?
заранее спасибо.
Попробуй так:
var keyListener:Object = new Object();
keyListener.onKeyDown = function() {
k = Key.getCode();
if (k == 49) {
trace('fc_1');
}
if (Key.isDown(49) && Key.getCode() == 50) {
trace('fc_2');
}
};
Key.addListener(keyListener);
не работает, когда я зажимаю (1) и (2) срабатывает функцИя (2) но когда я отпускаю(2) все останавливается, а нужно чтобы исполнялась функцИя (1).
AlexCooper
26.11.2008, 16:17
Доп. Вопрос: Как отследить два нажатия кнопки и выполнять каждое положенное на них действия?
З.Ы. например одновременно нажаты UP & Right в соответсвии первая передвигает мувик вперёд а вторая поворачивает его на 5 градусов.
UPD: Всё я понял,
keyListener.onKeyUp = function(){
trace(Key.getCode());
}
есть такая функция, вот и добавь в неё флаг который будет запускать первую функцию если не кнопка "1" не была отпущенна.
UPD2: Наглядный пример, только он под мой вариант постоенно.
var keyListener:Object = new Object();
keyListener.onKeyDown = function() {
this[Key.getCode()]=true;
};
keyListener.onKeyUp = function(){
this[Key.getCode()]=false;
}
Key.addListener(keyListener);
uped = function()
{
trace('UP');
}
rotat = function()
{
trace('Ro');
}
onEnterFrame=function(){
if (keyListener['49']==true) uped();
if (keyListener['50']==true) rotat();
}
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.