Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему  
Старый 24.04.2009, 13:09
Герыч вне форума Посмотреть профиль Отправить личное сообщение для Герыч Найти все сообщения от Герыч
  № 1  
Ответить с цитированием
Герыч
 
Аватар для Герыч

блогер
Регистрация: Apr 2009
Адрес: НиНо
Сообщений: 185
Записей в блоге: 12
Attention Непонятные особенности KeyboardEvent

Во всех нормальных флэш играх одновременное нажатие кнопки вверх и кнопки влево обрабатывается нормально. Но у меня увы это не выходит.. Буду премного благодарен, если кто-нибудь мне объяснит причину..

Как я делаю:
Код AS3:
package gerich {
	import flash.display.MovieClip;
	import flash.events.*;
	import flash.ui.Keyboard;
 
	dynamic public class Spaceship extends MovieClip {
		var speed:Number=1;
 
		public function Spaceship() {
			rotation=0;
			stage.addEventListener(KeyboardEvent.KEY_DOWN,   KeyDown);
			addEventListener(Event.ENTER_FRAME,        Update);
 
		}
 
		public function Update(e : Event):void {
			y-=Math.cos(rotation/180*3.14)*speed;
			x+=Math.sin(rotation/180*3.14)*speed;
 
		} 
 
                //по идее должны отлавливаться все нажатия по очереди
		public function KeyDown(e : KeyboardEvent):void {
			if(e.keyCode == Keyboard.LEFT){trace("left"); rotation-=1;}
			if(e.keyCode == Keyboard.RIGHT){trace("right"); rotation+=1;}
			if(e.keyCode == Keyboard.UP){trace("up"); speed+=0.05;}
			if(e.keyCode == Keyboard.DOWN) 
			{
				trace("down");
				speed-=0.05;
				if(speed<0) speed=0;
			}
 
		}
 
	}
}
при нажатии кнопки вправо на консоль идёт последовательность:
Код:
right
right
right
right
right
...
потом, не отпуская зажимаю вверх, и кнопка вправо начинает игнорироваться:
Код:
right
right              //была нажата вправо
right
up                 //нажал вверх
up
up
up
up
up
..
а хотелось бы, чтобы я с примерно равными пеиодами времени получал бы и вверх и вправо. как-то так:
Код:
up
right
right
up
right
up
up
right
..
Объясните, если знаете.. спасибо

Создать новую тему   Часовой пояс GMT +4, время: 16:44.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Теги
KeyboardEvent , клавиатура

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 16:44.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.