Hallo,
Ik ben bezig met een klein spelletje geprogrammeerd in C++ met behulp van de Win32 API. De speler beweegt door middel van de pijltjestoetsen. Nu controleer ik bit 30 van lParam om te kijken of de speler de toets al weer heeft losgelaten. Dit werkt niet zo lekker voor de gebruiker maar als ik de toets in laat houden worden er massa's WM_KEYDOWN's verwerkt.
Nu heb ik een wachttijd ingeschakeld dat als er een toets wordt ingedrukt, pas na een paar milliseconden verwerkt wordt. Maar dan zit ik met het probleem dat er nog een boel berichten in de rij staan. Hoe moet ik dit aanpakken? Hoe moet ik er voor zorgen dat de speler niet te snel beweegt als er een heleboel berichten binnen komen?
Dit heb ik tot nu toe als test gebruikt:
Ik ben bezig met een klein spelletje geprogrammeerd in C++ met behulp van de Win32 API. De speler beweegt door middel van de pijltjestoetsen. Nu controleer ik bit 30 van lParam om te kijken of de speler de toets al weer heeft losgelaten. Dit werkt niet zo lekker voor de gebruiker maar als ik de toets in laat houden worden er massa's WM_KEYDOWN's verwerkt.
Nu heb ik een wachttijd ingeschakeld dat als er een toets wordt ingedrukt, pas na een paar milliseconden verwerkt wordt. Maar dan zit ik met het probleem dat er nog een boel berichten in de rij staan. Hoe moet ik dit aanpakken? Hoe moet ik er voor zorgen dat de speler niet te snel beweegt als er een heleboel berichten binnen komen?
Dit heb ik tot nu toe als test gebruikt:
code:
1
2
3
4
5
6
7
| case WM_KEYDOWN:
{
if(timeGetTime() > (timer + 500)) // TODO: Tijddelay veranderen.
{
timer = timeGetTime();
x += 5;
} |