ďťż

Ładny brzuch

Mam taki problem że chciałem użyć SDL'a do obsługi klawiatury i wrzuciłem taki kod do pętli przetwarzającej komunikaty systemu:
while (!exit) { if(PeekMessage(&msg, g_hwnd, NULL, NULL, PM_REMOVE))    {      if (msg.message == WM_QUIT)      {        exit = TRUE;      }      else      {        TranslateMessage(&msg);        DispatchMessage(&msg);      }    } SDL_WaitEvent (zdarzenie); keystate = SDL_GetKeyState(NULL); if ( keystate[SDLK_RETURN]==1 ) {  glBegin(GL_TRIANGLES);  glColor3f(0.0f,0.0f,1.0f);  glVertex3f(0.5 , 0.0 ,-5.0 );  glVertex3f(0.0 , 0.5 ,-5.0 );  glVertex3f( -0.5 , 0.0 ,-5.0 );  glEnd(); } INPUTSYS(); RENDER();    SwapBuffers(g_hdc); }  KillWindow();  return msg.wParam; }

no i pies jest pogrzebany w tym że nic się nie dziej kiedy ten ENTER wciskam pomóżcie ludzie bo ja już nie wiem.




...

no to usunąłem to sdl_waitevent() chociaż wcale nie zatrzymuje działania programu i dalej to samo jest wogóle nie reaguje na wciskanie klawisza. poprostu cały czas wartość w tablicy jest zero.
Użytkownik kondi edytował ten post 31 maj 2006, 22:47
Wyświetlaj w pętli całą tablicę klawiszy to dowiesz się, czy błąd tkwi w poleceniu:
keystate = SDL_GetKeyState(NULL);
czy w sprawdzeniu wartości.

Chyba nie ma w ogóle kodu klawisza 0, więc może:
if ( keystate[SDLK_RETURN-1]==1 )

Jak się mylę to możecie ochrzanić :D



nie bardzo kumam o co ci chodzi. keystate to tablica która przechowuje stany poszczególnych klawiszy 1 to wciśnięty 0 to puszczony, a SDLK_RETURN to indeks klawisza "enter"


Wyświetlaj w pętli całą tablicę klawiszy to dowiesz się, czy błąd tkwi w poleceniu:
keystate = SDL_GetKeyState(NULL);
czy w sprawdzeniu wartości.

Chyba nie ma w ogóle kodu klawisza 0, więc może:
if ( keystate[SDLK_RETURN-1]==1 )

Jak się mylę to możecie ochrzanić  :D

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • zsf.htw.pl
  •