Нажатие нескольких кнопок одновременно - C#

Узнай цену своей работы

Формулировка задачи:

Доброго времени суток. Возникла проблема, экзаменационная игра в консоле. Мне надо одновременно отлавливать нажатие кнопок влево / вправо / пробел. Но не получается это делать одновременно, т.е. надо отпустить "влево" и нажать "пробел", а игрушка Galaxy, надо что бы при зажатой клавише в сторону, можно было обработать нажатие пробела(выстрелить ракетой). Получается пасивное управление, очень неудобно. Помогите пожалуйста. P.S. Думал выиграю тем, что буду обрабатывать кнопки влево/вправо в одном потоке а кнопку пробел в другом. И только хуже стало = (... Заранее всем спасибо.

Решение задачи: «Нажатие нескольких кнопок одновременно»

textual
Листинг программы
  1. using System.Runtime.InteropServices;
  2.  
  3. [DllImport("user32.dll")]
  4. static extern short GetAsyncKeyState(ConsoleKey vk);
  5.  
  6. static void Main(string[] args)
  7.         {
  8.             Console.WriteLine("ожидает нажатие на клавиши");
  9.             for (; ; )
  10.             {
  11.                 if (GetAsyncKeyState(ConsoleKey.LeftArrow) != 0 && GetAsyncKeyState(ConsoleKey.Spacebar) != 0)
  12.                     Console.WriteLine("нажаты обе кнопки");
  13.             }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 4.429 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы