Показать сообщение отдельно
Старый 12.01.2006, 15:36
silin вне форума Посмотреть профиль Посетить домашнюю страницу silin Найти все сообщения от silin
  № 8  
Ответить с цитированием
silin
 
Аватар для silin

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
в догонку: как отследить тоже самое для всех клавиш
Код:
import mx.events.EventDispatcher;
this.createEmptyMovieClip('keyDispatcher',this.getNextHighestDepth());
//пихаем в массив все коды (вообще-то это лишнее: зачем перебирать то, что не нужно..
for(var i=0,k=keyDispatcher.keys=[];i<255;i++)k.push(false);
EventDispatcher.initialize(keyDispatcher);//копируем в него методы диспатчера
keyDispatcher.onEnterFrame=function(){
	var k=this.keys;
	for(var i in k){
		//если состояние клавиши меняется, то рапортуем (вещаем событие 'key')
		if(k[i]!=Key.isDown(i)) this.dispatchEvent({type:'key',what:k[i] ? 'up' : 'down',key:i,time:getTimer()});
		k[i]=Key.isDown(i);
	}
}
keyDispatcher.addEventListener('key',onKey);
function onKey(e){
	trace('________');
	trace('when :'+e.time);
	trace('key# :'+e.key+' ('+e.what+')');
}