PDA

Просмотр полной версии : клавиши


apoptom
26.11.2008, 00:36
у мення такая проблема: есть функцИя (1) она работает при нажатии клавиши (1), есть функцИя (2) она работает при зажимании клавиш (1) и (2). но при отпускании клавиши (2) прЕкращается функцИя (2) и все. Как сделать чтоб при отпускании клавиши (2) опять исполнялась функцИя (1)?
заранее спасибо.

KiL33
26.11.2008, 10:34
Попробуй так:
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);

apoptom
26.11.2008, 15:19
не работает, когда я зажимаю (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();
}