void __fastcall TFCOpenGL::ProcessKeys()
{
//KURWAif (DXInput1->States.Contains(isUp) == true)
//KURWAif (DXInput1->States.Contains(isDown) == true)
//KURWAif (DXInput1->States.Contains(isLeft) == true) FCOpenGL->MOVE_STRAFE_LEFT(newpos);
//KURWAif (DXInput1->States.Contains(isRight) == true) FCOpenGL->MOVE_STRAFE_RIGHT(newpos);
if (FCyfra->keys[VkKeyScan('w')]) AUTOS->PHYSIC_MODEL->AccelUP();//DrawWireFrame = !DrawWireFrame;
if (FCyfra->keys[VkKeyScan('s')]) AUTOS->PHYSIC_MODEL->GoUP();
if ( (FCyfra->keys[VkKeyScan('a')]) || (FCyfra->keys[VkKeyScan('d')]) ) {
if (FCyfra->keys[VkKeyScan('a')]) AUTOS->PHYSIC_MODEL->TurnLeft(); //else AUTOS->PHYSIC_MODEL->TurnLeftDOWN();
if (FCyfra->keys[VkKeyScan('d')]) AUTOS->PHYSIC_MODEL->TurnRightUP();
} else AUTOS->PHYSIC_MODEL->TurnRightDOWN();
if (FCyfra->keys[VK_UP]) FCOpenGL->MOVE_IN_FRONT(old);
if (FCyfra->keys[VK_DOWN]) FCOpenGL->MOVE_OUT_FRONT(old);
if (FCyfra->keys[VK_RIGHT]) FCOpenGL->MOVE_STRAFE_RIGHT(old);
if (FCyfra->keys[VK_LEFT]) FCOpenGL->MOVE_STRAFE_LEFT(old);
if (FCyfra->keys[VK_CONTROL]) CheckBox8->Checked = true; else CheckBox8->Checked = false;
/* if (keys[VK_SPACE]) then
{
CreateRainDrop;
keys[VK_SPACE] :=FALSE;
}
if (keys[VK_ADD]) then
{
if RainInterval > 100 then
RainInterval :=RainInterval - 100
else
RainInterval :=25;
CreateRainDrop;
SetTimer(h_Wnd, RAIN_TIMER, RainInterval, nil);
keys[VK_ADD] :=FALSE;
}
if (keys[VK_SUBTRACT]) then
{
RainInterval :=RainInterval + 100;
SetTimer(h_Wnd, RAIN_TIMER, RainInterval, nil);
keys[VK_SUBTRACT] :=FALSE;
}
if Keys[Ord('W')] then
{
DrawWedge :=NOT(DrawWedge);
Keys[Ord('W')] :=FALSE;
}
if Keys[Ord('H')] then
{
ShowHelp :=NOT(ShowHelp);
Keys[Ord('H')] :=FALSE;
} */
}
void __fastcall TFCyfra::ApplicationEvents1Message(tagMSG &Msg, bool &Handled)
{
if (Msg.message == WM_MOUSEWHEEL) {
if (Msg.wParam == 7864320) ShowMessage("W GORE");
if (Msg.wParam == 4287102976) ShowMessage("W DOL");
}
if (Msg.message == WM_KEYDOWN) { // Set the pressed key (wparam) to equal true so we can check if its pressed
keys[Msg.wParam] = true;
}
if (Msg.message == WM_KEYUP) { // Set the pressed key (wparam) to equal true so we can check if its pressed
keys[Msg.wParam] = false;
}
FCOpenGL->draw_2d_menu = keys[VkKeyScan('v')];
}
gdzie
bool keys[256];
processkeys(); trzeba wykopnywac w jakims timerze co pewien czas zeby wiedziec kiedy zmienilismy cos na klawiatrzue
komponent ApplicationEventHandler (Watek OnMessage) wrzucamy jna jakas forme (u mnie FCYFRA)