Показать сообщение отдельно
Старый 20.08.2014, 13:19
delphic вне форума Посмотреть профиль Отправить личное сообщение для delphic Найти все сообщения от delphic
  № 4  
Ответить с цитированием
delphic

Регистрация: Apr 2014
Сообщений: 215
Цитата:
Сообщение от DearSanta Посмотреть сообщение
Если нажать строго одновременно, то все работает, но если, например, зажать стрелку, а потом нажать прыжок, персонаж тупо останавливается, и больше не реагирует на стрелку, только на кнопку прыжка.
Код AS3:
function ef(e:Event):void
	if(jump) вообще советую переносить скобки, так понятней где конец и где начало, во Flash кстати 
можно настроить что бы перенос был автоматически
{
		hero.y = speedY;
	    stage.removeEventListener(KeyboardEvent.KEY_DOWN, kd);
}
а зачем Вы тут стираете слушатель? конечно будет глюк с клавиатурой
function kd(e:KeyboardEvent)
{
	if(e.keyCode == 32)
       {
 
	}
}
зачем цифры? неудобно и непонятно, используйте import flash.ui.*; и тогда можно указывать название клавиши 
например - if(e.keyCode == Keyboard.SPACE)
 
function ku(e:KeyboardEvent)
{
stage.addEventListener(KeyboardEvent.KEY_DOWN, kd);
зачем вешаете слушатель опять?
}
советую доработать код,логику посмотреть, убрать ненужные слушатели
Не знаю как у вас одновременно работают несколько клавиш,скорей всего Flash надрывается и думает что вы все таки жмете, например я делал как вы раньше, но потом сделал такой опыт, например ставишь квадрат на сцену и видишь что это на самом деле не одновременное нажатие, особенно если частоту кадров уменьшить
лучше в духе таком
Код AS3:
			if(e.keyCode == Keyboard.UP)
			{
				moveUp = true;
			}
			if(e.keyCode == Keyboard.RIGHT)
			{ 
				 moveRight = true;
			}
тогда вы заметите что управление куда податливей
также мой вам совет,да и все так скажут, названия понятливые давать а не ku и т.д
даже если вы это делаете в качестве теста, а тем более если рабочий проект со временем будет непонятен код, что за ku. Хотя мне тоже бывает лень писать название))).Я надеюсь это то что вам нужно, по крайней мере у меня работает эта система исправно.