I'm having a problem with creating movement for my box.
If I press let's say up, and then right, I would like my character to increment the x and y position so it moves to the top right (2D view).
Instead, it stops moving up and just moves right instead.
This is how my keypress checking function works :
switch (Input::eventHandler.type)
{
case SDL_QUIT:
SDL_Quit();
exit(0);
break;
case SDL_KEYDOWN:
switch (Input::eventHandler.key.keysym.sym)
{
case SDLK_UP:
SpriteManager::GetSprite("sprite1")->Move(0, -1 * Time::GetDeltaTime());
break;
case SDLK_DOWN:
SpriteManager::GetSprite("sprite1")->Move(0, 1 * Time::GetDeltaTime());
break;
case SDLK_RIGHT:
SpriteManager::GetSprite("sprite1")->Move(1 * Time::GetDeltaTime(), 0);
break;
case SDLK_LEFT:
SpriteManager::GetSprite("sprite1")->Move(-1 * Time::GetDeltaTime(), 0);
break;
default:
break;
And here's how I move my box :
void Sprite::Move(long offsetX, long offsetY)
{
x += offsetX;
y += offsetY;
}