[direct input]Dwukrotne wciśnięcie przycisku gamepada
Ostatnio zmodyfikowano 2010-10-02 19:55
Zachariasz Temat założony przez niniejszego użytkownika |
[direct input]Dwukrotne wciśnięcie przycisku gamepada » 2010-09-29 16:58:29 Witam,
potrzebuję wprowadzić możliwość obsługi gamepada do programu, więc wziąłem się za naukę Direct Inputa. Na pewnej stronie znalazłem taki oto fragment kodu http://wklej.to/ACva. Problem polega na tym że wykrywa on wciśnięcie przycisku dwukrotnie. Z kolei przykład http://wklej.to/Q0bd w katalogu Directa SDK działa normalnie. Dziwi mnie to o tyle że wydaje mi się że pętle sprawdzające stan przycisków są identyczne. Ktoś wie czemu tak się dzieje? |
|
DejaVu |
» 2010-09-30 18:54:18 No i co Ci wyszło z Twojego porównywania? Doszedłeś do czegoś już? |
|
Zachariasz Temat założony przez niniejszego użytkownika |
» 2010-10-01 21:42:13 Nie za wiele. Wprowadziłem prosty licznik: zwiększał się on w każdym przebiegu pętli zczytującej stan przycisków. Efekt był następujący: w direct'owym leciał całkiem wolno, tak że po kilku sekundach przytrzymania przycisku był równy ~100. Natomiast w drugim programie zachrzaniał jak szalony; wynik można było liczyć w dziesiątkach tysięcy. Tak więc widać ten drugi program jakoś częściej próbkuje pada a sygnał zapewne zostaje jeszcze w buforze (tylko dlaczego zawsze podwójnie?) Teraz muszę sprawdzić jak "spowolnić" całe zczytywanie. |
|
DejaVu |
» 2010-10-02 19:55:38 Może pętlę komunikatów masz nieblokującą, a może przechwytujesz komunikat w złym miejscu. |
|
« 1 » |