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

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

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

Регистрация: Jan 2007
Адрес: Минск
Сообщений: 781
Отправить сообщение для джонатан с помощью Skype™
По умолчанию Key При нажатии кнопки сбивается действие другой кнопки

Добрый день! Скажите, почему когда я нажал и удерживаю какую либо кнопку, все происходит как надо, а когда я нажимаю еще одну любую кнопку, то функция прекращает выполняться:

Код:
keyLst.onKeyDown = function() {
	if(Key.isDown(Key.RIGHT)) {
		flyRight = true;
		flyLeft = false;
		flyStop = false;
		RightKey();
	}
	if(Key.isDown(Key.LEFT)) {
		flyRight = false;
		flyLeft = true;
		flyStop = false;
		LeftKey();
	}
	if(Key.isDown(Key.UP)) {
		UpKey();
	}
	if(Key.isDown(Key.DOWN)) {
		DownKey();
	}
	if(Key.isDown(Key.SPACE)) {
		if(attack == false) {
			SpaceKey();
			bomb_mc.onEnterFrame = PointChecker;
		} else {
			NotReloaded();
		}
	}
}

keyLst.onKeyUp = function() {
	flyLeft = false;
	flyRight = false;
	flyStop = true;
}

Key.addListener(keyLst);
Вот как например тут. На стрелочки, обект движется, а как только я нажму на пробел, он останавливается, либо если удерживая кпримеру клавишу "Вправо" нажать еще и клавишу "вверх" то обект сначала останавливается, а потом начинает двигаться вправо и вверх. Как мн сделать, чтобы не прерывались функции?

Спасибо.
__________________
Убейте меня!

Старый 30.09.2008, 14:24
Obi вне форума Посмотреть профиль Отправить личное сообщение для Obi Найти все сообщения от Obi
  № 2  
Ответить с цитированием
Obi
 
Аватар для Obi

Регистрация: Nov 2007
Адрес: Moscow
Сообщений: 566
Ибо при нажатии второй кнопки, событие первой кнопки «перекрывается» событием второй. Прекращайте действие, только когда нужную кнопку отпустили.

Старый 30.09.2008, 16:16
NoCD вне форума Посмотреть профиль Отправить личное сообщение для NoCD Найти все сообщения от NoCD
  № 3  
Ответить с цитированием
NoCD
 
Аватар для NoCD

Регистрация: Jan 2006
Адрес: Novosibirsk
Сообщений: 353
а вот такой код?
Код:
attachMovie("mc","mc",1)
mc._x=100
mc._y=100
_root.onEnterFrame = function() {
	if (Key.isDown(Key.RIGHT)) {moveBall("right");}
	if (Key.isDown(Key.LEFT)) {moveBall("left");}
	if (Key.isDown(Key.UP)) {moveBall("up");}
	if (Key.isDown(Key.DOWN)) {moveBall("down");}
};
function moveBall(dir)
{
if(dir=="right")
{mc._x+=2}
if(dir=="left")
{mc._x-=2}
if(dir=="up")
{mc._y-=2}
if(dir=="down")
{mc._y+=2}}

Старый 30.09.2008, 17:25
джонатан вне форума Посмотреть профиль Отправить личное сообщение для джонатан Найти все сообщения от джонатан
  № 4  
Ответить с цитированием
джонатан
 
Аватар для джонатан

Регистрация: Jan 2007
Адрес: Минск
Сообщений: 781
Отправить сообщение для джонатан с помощью Skype™
Ну я почти так и сделал впринципе. Только вместо у меня setInterval вместо onEnterFrame

Но ведь намного краше со слушетелем Key, странно почему так хреново работает с ним...
__________________
Убейте меня!

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

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

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


 


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


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