Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
Modys
1

Hook, одновременное нажатие

12.04.2011, 18:31. Просмотров 939. Ответов 5
Метки нет (Все метки)


Доброго времени суток!
У меня такой вопрос:
Я пишу примитивную игру типа бокса для "мультиплеерного режима" на с++ builder'e
Дело в том что я написал код, посредством которого нарисованные боксеры мутузят друг друга,
НО не могу сделать чтобы обрабатывалась сразу две кнопки, например один игрок держит блок, а второй его пробивает

Основной код писал в событии формы OnKeyPress, пробовал в OnkeyDown прога начинает тупить кнопки вообще не слушаются

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
void __fastcall TForm1::FormKeyPress(TObject *Sender, wchar_t &Key)
{if (x!=1)
{if (Key=='d') {if (Image1->Left<Image2->Left-40) {Image1->Left=Image1->Left+10;}}
if (Key=='a') {if (Image1->Left>=30) {Image1->Left=Image1->Left-10;}}
if (Key=='6') {if (Image2->Left<=Form1->Width-80) {Image2->Left=Image2->Left+10;}}
if (Key=='4') {if (Image2->Left>Image1->Left+40) {Image2->Left=Image2->Left-10;}}
if (Key=='8') {Image2->Picture->LoadFromFile("боксблок2.bmp");b2=7.5; }
if (Key=='s') {Image1->Picture->LoadFromFile("бокс11.bmp");if (Image2->Left<Image1->Left+40) m=m-50+b2;}
if (Key=='5') {Image2->Picture->LoadFromFile("бокс22.bmp");if (Image1->Left>Image2->Left-40) n=n-50+b1;}
 
if (m<=0) {Image2->Picture->LoadFromFile("бокс222.bmp");Image2->Top=Image2->Top+40;x=1;}
if (n<=0) {Image1->Picture->LoadFromFile("бокс111.bmp");Image1->Top=Image1->Top+40;x=1;}}
}
P.S. пользуюсь RAD STUDIO 2010 C++ Builder
читал посты с использование Win 32 API но там его просто на просто нету =(
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.04.2011, 18:31
Ответы с готовыми решениями:

Одновременное нажатие кнопок
Здравствуйте. Я не знаю как отловить нажатие 2ух кнопок например VK_RIGHT,VK_UP. В обработчике...

Одновременное нажатие обеих кнопок мыши
Как отловить нажатие одновременно правой и левой кнопки мыши, чтобы потом написать для этого...

Отследить двойное нажатие в hook'e
Я использую глобальный хук на мышь WH_Mouse_LL. Как отследить в нём двойное нажатие, скажем, левой...

Одновременное нажатие 3-х клавиш
У меня вот возник вопрос. т.к. я любитель Аркадных гонок, часто нужно нажимать 3 кнопки...

5
LK
Заблокирован
12.04.2011, 18:54 2
один руль, два водителя, каждый едет в свою сторону
0
Тутошний я
2045 / 1115 / 206
Регистрация: 03.11.2009
Сообщений: 3,883
Записей в блоге: 2
12.04.2011, 23:11 3
Как то так
C++
1
if ((GetKeyState(52)<0) && (GetKeyState(54)<0)) Edit1->Text="Da";
И посмотри тему Как перехватить все нажатые клавиши
И такие строки лучше переделать
C++
1
{Image2->Picture->LoadFromFile("боксблок2.bmp")
Каждый раз файлы загружать, долго.
В теме STAR WARS, посмотри в архивах.
0
LK
Заблокирован
13.04.2011, 00:05 4
Цитата Сообщение от Grey Посмотреть сообщение
Как то так
Все, что ты предложил, логично, но для определенной последовательности действий, но вспомнил я приставку Денди (дедушка Сега МегаДрайв , Сони ПлейСтейшт и прочих Боксов) с двумя джойстиками - и никак не могу сообразить, как два бандита могут сражаться, используя одну клавиатуру ?

Добавлено через 2 минуты
Цитата Сообщение от Modys Посмотреть сообщение
Дело в том что я написал код, посредством которого нарисованные боксеры мутузят друг друга...(
- кажется, я что-то пропустил ...
0
Тутошний я
2045 / 1115 / 206
Регистрация: 03.11.2009
Сообщений: 3,883
Записей в блоге: 2
13.04.2011, 00:55 5
Цитата Сообщение от LK Посмотреть сообщение
и никак не могу сообразить, как два бандита могут сражаться, используя одну клавиатуру
Я как то подключал 2 мышки, и нормально работало. Может и с клавиатурами прокатит.
0
LK
Заблокирован
13.04.2011, 01:02 6
PS/2 + USB ? моге быть ...
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.04.2011, 01:02

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

Одновременное нажатие клавиш
Здравствуйте. Столкнулся с проблемой. Кнопки на форме связаны с клавишами клавиатуры. Необходимо...

одновременное нажатие клавиш
подскажите как проверить если нажали одновременно 2 клавиши getch проверяет какая была нажата а не...

Одновременное нажатие клавиш
Как сделать так, чтобы при нажатии w с d, w с a, s с d, s с a, объект двигался по диагонали?...

Одновременное нажатие кнопок
Как сделать одновременное нажатие кнопок т.е. При нажатии на кнопку ходьбы невозможно...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.