From 2d5b7a1033feea5f5b7e5288ba0234968ddebbee Mon Sep 17 00:00:00 2001 From: belkhiritaha <belkhiri.taha53@gmail.com> Date: Wed, 22 Jun 2022 20:00:29 +0200 Subject: [PATCH] animation marche update --- travail_de_groupe/chef_oeuvre/src/player.c | 4 ++++ travail_de_groupe/chef_oeuvre/src/player.h | 1 + travail_de_groupe/chef_oeuvre/src/render.c | 6 ++++-- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/travail_de_groupe/chef_oeuvre/src/player.c b/travail_de_groupe/chef_oeuvre/src/player.c index bee801b..622717b 100644 --- a/travail_de_groupe/chef_oeuvre/src/player.c +++ b/travail_de_groupe/chef_oeuvre/src/player.c @@ -124,18 +124,22 @@ void manageMovement(){ if(keys[PLAYER_UP]){ moveUpPlayer(); player.isMoving = 1; + player.direction = PLAYER_UP; } if(keys[PLAYER_DOWN]){ moveDownPlayer(); player.isMoving = 1; + player.direction = PLAYER_DOWN; } if(keys[PLAYER_LEFT]){ moveLeftPlayer(); player.isMoving = 1; + player.direction = PLAYER_LEFT; } if(keys[PLAYER_RIGHT]){ moveRightPlayer(); player.isMoving = 1; + player.direction = PLAYER_RIGHT; } player.isMoving = 0; } diff --git a/travail_de_groupe/chef_oeuvre/src/player.h b/travail_de_groupe/chef_oeuvre/src/player.h index e73e460..387cf00 100644 --- a/travail_de_groupe/chef_oeuvre/src/player.h +++ b/travail_de_groupe/chef_oeuvre/src/player.h @@ -18,6 +18,7 @@ typedef struct player{ int waterMax; int speed; int isMoving; + int direction; } player_t; extern player_t player; diff --git a/travail_de_groupe/chef_oeuvre/src/render.c b/travail_de_groupe/chef_oeuvre/src/render.c index ed7b7c5..39214e9 100644 --- a/travail_de_groupe/chef_oeuvre/src/render.c +++ b/travail_de_groupe/chef_oeuvre/src/render.c @@ -150,7 +150,9 @@ void drawPlayer(){ rect.x = player.x + (screenDimension.w - (MAPSIZE * CELLSIZE)) / 2; rect.y = player.y ; SDL_Rect destRect = {32 * (SDL_GetTicks()/200%6), 0, 32, 32}; - SDL_RenderCopyEx(renderer, playerTexture, &destRect, &rect, 0, NULL, SDL_FLIP_NONE); + SDL_Texture * drawTexture = (player.isMoving) ? (playerTexture):(playerIdleTexture); + int flip = (player.direction == PLAYER_LEFT) ? (SDL_FLIP_HORIZONTAL) : (SDL_FLIP_NONE); + SDL_RenderCopyEx(renderer, playerTexture, &destRect, &rect, 0, NULL, flip); } void drawBackgroundSides(){ @@ -221,7 +223,7 @@ void mainLoop(){ noHoverSurface = IMG_Load("Res/noHover.png"); noHoverTexture = SDL_CreateTextureFromSurface(renderer, noHoverSurface); - playerSurface = IMG_Load("Res/character_spritesheet.png"); + playerSurface = IMG_Load("Res/character_tileset.png"); playerTexture = SDL_CreateTextureFromSurface(renderer, playerSurface); backgroundSurface = IMG_Load("Res/background_mat.png"); -- GitLab