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

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

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

Регистрация: Sep 2011
Адрес: Киев, Украина
Сообщений: 3
По умолчанию Приоритет нажатой кнопки клавиатуры

Делаю передвижение для игрушки с видом сверху, возникла проблема с одновременным нажатием нескольких кнопок. Для передвижения я использую для этого считыванием нажатой кнопки и прогоном ее через switch, но проблема в том, что у кнопок установился определенный приоритет, зависимый от того, где именно в свитче находится соответственный case, и, к примеру, после нажатия "вправо" не читается другая клавиша, "влево" перебивается только кнопкой "вправо", "вверх" перебивается кнопками "влево" и "вправо" и т.д.. Вопрос - что же использовать вместо switch, чтобы порядок кода для клавиш не влиял на то, как они взаимодействуют?

Старый 22.09.2011, 11:04
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 2  
Ответить с цитированием
mooncar
Модрон-ветеринар
 
Аватар для mooncar

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
Операторы if
__________________
Идите первым!

Старый 22.09.2011, 12:40
lentinant вне форума Посмотреть профиль Отправить личное сообщение для lentinant Найти все сообщения от lentinant
  № 3  
Ответить с цитированием
lentinant

Регистрация: Sep 2011
Адрес: Киев, Украина
Сообщений: 3
Ооо, тогда тем более создается приоритет, ведь сначала он проверяет, нажато ли "вправо", дальше "влево" и т.д., то есть, в N-ом фрейме я нажал "вниз", а в N+1 - "вправо", он еще не забыл, что я нажал "вниз" и одновременно запустил код в if "вправо", в итоге, баги. Именно потому я перешел на switch - чтобы решить проблему приоритета, и заодно убрать баг.

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

Регистрация: Aug 2007
Адрес: Ukraine, Kyiv
Сообщений: 643
Отправить сообщение для olexandr с помощью ICQ Отправить сообщение для olexandr с помощью MSN Отправить сообщение для olexandr с помощью Skype™
разве нельзя обойтись ифами без елсе? да и в свитче можно брейк не ставить.
если (вправо) икс+1
если (вверх) игрек-1
__________________
сайт, vk

Старый 22.09.2011, 22:26
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 5  
Ответить с цитированием
mooncar
Модрон-ветеринар
 
Аватар для mooncar

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
Совершенно верно, я собственно и писал - "оператор if ", имея ввиду то, о чем говорит olexandr, про else не упоминал.
__________________
Идите первым!

Старый 25.09.2011, 00:05
lentinant вне форума Посмотреть профиль Отправить личное сообщение для lentinant Найти все сообщения от lentinant
  № 6  
Ответить с цитированием
lentinant

Регистрация: Sep 2011
Адрес: Киев, Украина
Сообщений: 3
так я и пользовался if без else, но все равно возникали проблемы при одновременном нажатии нескольких кнопок

Добавлено через 8 минут
В общем, немного перефразирую вопрос - каким методом можно сделать, чтобы, пока на клавиатуре нажата одна кнопка передвижения, другие кнопки передвижения не работали?


Последний раз редактировалось lentinant; 25.09.2011 в 00:14.
Создать новую тему Ответ Часовой пояс GMT +4, время: 15:39.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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