Part of player definition.
void Player::onEvent(SDL_Event Events)
{
if (events.type == SDL_KEYDOWN)
{
switch (Events.key.keysym.sym)
{
case SDLK_w: ySpeed = -maxSpeed; break;
}
}
if (events.type == SDL_KEYUP)
{
switch (Events.key.keysym.sym)
{
case SDLK_w: ySpeed = 0; break;
}
}
}
Part of my main function where onEvent is called.
while (SDL_PollEvent(&events))
{
if (events.type == SDL_QUIT)
run = false;
player.onEvent(events);
}
I expect my player to move up when I press W but it does not, I am almost certain there is something wrong with onEvent's definition or how I am calling it because changing the above piece of code to the following makes the program run as expected.
while (SDL_PollEvent(&events))
{
if (events.type == SDL_QUIT)
run = false;
if (events.type == SDL_KEYDOWN)
{
switch (events.key.keysym.sym)
{
case SDLK_w: player.ySpeed = -player.maxSpeed; break;
}
}
if (events.type == SDL_KEYUP)
{
switch (events.key.keysym.sym)
{
case SDLK_w: player.ySpeed = 0; break;
}
}
}
Sorry for goofing up any terminology, I'm pretty new to c++.