TileMaps now render each row correctly

This commit is contained in:
2022-03-27 23:59:12 -04:00
parent 72b4ac9229
commit 871e6d19c6
9 changed files with 152 additions and 162 deletions

View File

@ -41,11 +41,25 @@ public:
{
switch (Game::event.key.keysym.sym)
{
case SDLK_UP:
case SDLK_UP:
if(Game::gsm->currentState == GameStateManager::ST_COREGAME){
transform->velocity.y = -1;
// if(Game::playerIsGrounded){
sprite->Play("Walk");
// }
sprite->spriteFlip = SDL_FLIP_NONE;
}
break;
case SDLK_DOWN:
case SDLK_DOWN:
if(Game::gsm->currentState == GameStateManager::ST_COREGAME){
transform->velocity.y = 1;
// if(Game::playerIsGrounded){
sprite->Play("Walk");
// }
sprite->spriteFlip = SDL_FLIP_NONE;
}
break;
case SDLK_LEFT:
case SDLK_LEFT:
if(Game::gsm->currentState == GameStateManager::ST_COREGAME){
// if (playerCtrl == NULL){
// printf("No player controller found\n");
@ -56,13 +70,13 @@ public:
// transform->lastSafePos = Vector2D(transform->position.x,transform->position.y);
// printf("lastSafePos .x: %g .y: %g \n",transform->lastSafePos.x,transform->lastSafePos.y);
transform->velocity.x = -1;
if(Game::playerIsGrounded){
// if(Game::playerIsGrounded){
sprite->Play("Walk");
}
// }
sprite->spriteFlip = SDL_FLIP_NONE;
}
break;
case SDLK_RIGHT:
case SDLK_RIGHT:
if(Game::gsm->currentState == GameStateManager::ST_COREGAME){
// &entity->getComponent<PlayerController>().setLastSafePos(Vector2D(transform->position.x,transform->position.y));
// playerCtrl->lastSafePosition.x = transform->position.x;
@ -72,30 +86,30 @@ public:
// =========
// int intersectionTileX = collider->center.x;
transform->velocity.x = 1;
if(Game::playerIsGrounded){
// if(Game::playerIsGrounded){
sprite->Play("Walk");
}
// }
sprite->spriteFlip = SDL_FLIP_HORIZONTAL;
}
break;
case SDLK_a:
if(Game::gsm->currentState == GameStateManager::ST_COREGAME){
transform->velocity.x = -1;
if(Game::playerIsGrounded){
sprite->Play("Walk");
}
sprite->spriteFlip = SDL_FLIP_NONE;
}
break;
case SDLK_d:
if(Game::gsm->currentState == GameStateManager::ST_COREGAME){
transform->velocity.x = 1;
if(Game::playerIsGrounded){
sprite->Play("Walk");
}
sprite->spriteFlip = SDL_FLIP_HORIZONTAL;
}
break;
// case SDLK_a:
// if(Game::gsm->currentState == GameStateManager::ST_COREGAME){
// transform->velocity.x = -1;
// if(Game::playerIsGrounded){
// sprite->Play("Walk");
// }
// sprite->spriteFlip = SDL_FLIP_NONE;
// }
// break;
// case SDLK_d:
// if(Game::gsm->currentState == GameStateManager::ST_COREGAME){
// transform->velocity.x = 1;
// if(Game::playerIsGrounded){
// sprite->Play("Walk");
// }
// sprite->spriteFlip = SDL_FLIP_HORIZONTAL;
// }
// break;
case SDLK_k:
if (!Game::debugCollisionBoxes)
{ Game::debugCollisionBoxes = true; }
@ -137,44 +151,63 @@ public:
{
switch (Game::event.key.keysym.sym)
{
case SDLK_LEFT:
case SDLK_LEFT:
if(Game::gsm->currentState == GameStateManager::ST_COREGAME){
transform->velocity.x = 0;
sprite->Play("Idle");
if (!Game::gravityOnPlayer){
Game::gravityOnPlayer = true;
// sprite->Play("Fall");
}
// if (!Game::gravityOnPlayer){
// Game::gravityOnPlayer = true;
// // sprite->Play("Fall");
// }
}
break;
case SDLK_RIGHT:
case SDLK_RIGHT:
if(Game::gsm->currentState == GameStateManager::ST_COREGAME){
transform->velocity.x = 0;
sprite->Play("Idle");
if (!Game::gravityOnPlayer){
Game::gravityOnPlayer = true;
}
// if (!Game::gravityOnPlayer){
// Game::gravityOnPlayer = true;
// }
}
break;
case SDLK_a:
case SDLK_UP:
if(Game::gsm->currentState == GameStateManager::ST_COREGAME){
transform->velocity.x = 0;
transform->velocity.y = 0;
sprite->Play("Idle");
if (!Game::gravityOnPlayer){
Game::gravityOnPlayer = true;
// sprite->Play("Fall");
}
// if (!Game::gravityOnPlayer){
// Game::gravityOnPlayer = true;
// // sprite->Play("Fall");
// }
}
break;
case SDLK_d:
case SDLK_DOWN:
if(Game::gsm->currentState == GameStateManager::ST_COREGAME){
transform->velocity.x = 0;
transform->velocity.y = 0;
sprite->Play("Idle");
if (!Game::gravityOnPlayer){
Game::gravityOnPlayer = true;
}
// if (!Game::gravityOnPlayer){
// Game::gravityOnPlayer = true;
// }
}
break;
break;
// case SDLK_a:
// if(Game::gsm->currentState == GameStateManager::ST_COREGAME){
// transform->velocity.x = 0;
// sprite->Play("Idle");
// if (!Game::gravityOnPlayer){
// Game::gravityOnPlayer = true;
// // sprite->Play("Fall");
// }
// }
// break;
// case SDLK_d:
// if(Game::gsm->currentState == GameStateManager::ST_COREGAME){
// transform->velocity.x = 0;
// sprite->Play("Idle");
// if (!Game::gravityOnPlayer){
// Game::gravityOnPlayer = true;
// }
// }
// break;
case SDLK_k:
break;
case SDLK_j: