Показать сообщение отдельно
Старый 01.02.2008, 12:11
ktotam вне форума Посмотреть профиль Отправить личное сообщение для ktotam Найти все сообщения от ktotam
  № 7  
Ответить с цитированием
ktotam
 
Аватар для ktotam

Регистрация: Jun 2006
Сообщений: 60
Здравствуйте! не стал создавать новую тему, так как проблема схожа. Есть 2 клипа _a и _b, и обработчик клавишь. Клипы с помощью клавиатуры двигаются вправо и влево, проблема в том, что обрабатывается последняя нажатая клавиша а не все нажатые... подскажите что делать
Код:
stop();
_root[attachMovie("_a", "_a", 1,{_x:100, _y:200})];
_root[attachMovie("_b", "_b", 2,{_x:300, _y:200})];

var listener:Object = new Object();
Key.addListener(listener);
listener.onKeyDown = function() {
    trace("onKeyDown: "+this._name+" (Key: "+getKeyPressed()+")");
	if(getKeyPressed()=="a"){_root._a._x-=10}
	if(getKeyPressed()=="d"){_root._a._x+=10}
	if(getKeyPressed()=="w"){_root._a._y-=10}
	if(getKeyPressed()=="s"){_root._a._y+=10}
	if(getKeyPressed()=="LEFT"){_root._b._x-=10}
	if(getKeyPressed()=="RIGHT"){_root._b._x+=10}
	if(getKeyPressed()=="UP"){_root._b._y-=10}
	if(getKeyPressed()=="DOWN"){_root._b._y+=10}
};
listener.onKeyUp = function() {
    trace("onKeyUp: "+this._name+" (Key: "+getKeyPressed()+")");
};
function getKeyPressed():String {
    var theKey:String;
    switch (Key.getCode()) {
		case Key.LEFT :
			theKey = "LEFT";
			break;
		case Key.RIGHT :
			theKey = "RIGHT";
			break;
		case Key.UP :
			theKey = "UP";
			break;
		case Key.DOWN :
			theKey = "DOWN";
			break;
		
    default :
        theKey = chr(Key.getAscii());
    }
    return theKey;
}