background plus fix pos des textes

This commit is contained in:
cyjullien1
2025-01-06 11:14:03 +01:00
parent 62c97927f7
commit 876f027a3a
6 changed files with 54 additions and 15 deletions

BIN
image/background.png LFS Normal file

Binary file not shown.

Binary file not shown.

View File

@@ -12,6 +12,6 @@ void displayImage (SDL_Renderer *renderer, SDL_Texture *texture, vect pos,
void initSDL (dis *display_user);
void displayTextSDL(dis *display_user,char *text, vect coor, vect size, int font_size);
void screenDisplayGameSDL (char **tab,vect dim_tab, dis *display_user, vect *player_pos, int fov);
void backgroundDisplay(dis *display_user);
#endif // !DISPLAY_H

View File

@@ -54,12 +54,15 @@ void screenDisplayGameSDL (char **tab,vect dim_tab, dis *display_user, vect *pla
unsigned int i, j, x = 0, y = 0;
int start_i = 0, start_j = 0;
unsigned int limit_i = display_user->size_box, limit_j = display_user->size_box;
if (fov >= 0 )
{
start_i = player_pos->y - fov+1;
if(start_i < 0) start_i = 0;
start_j = player_pos->x - fov +1 ;
if(start_j < 0) start_j = 0;
limit_i = player_pos->y + fov;
//if(limit_i > display_user->size_box) limit_i = display_user->size_box;
if(limit_i > dim_tab.y) limit_i = dim_tab.y;
@@ -246,3 +249,33 @@ void displayTextSDL (dis *display_user, char *text, vect coor, vect size,
SDL_DestroyTexture (message);
TTF_CloseFont (Sans);
}
/**
* \brief Afficher l'arriere plan.
* \param display_user Tout les information du display de l'utilisateur utile.
*/
void backgroundDisplay(dis *display_user)
{
SDL_Surface *img;
SDL_Texture *texture;
img = IMG_Load("image/background.png");
texture = SDL_CreateTextureFromSurface (display_user->renderer, img);
vect pos = {0, 0};
displayImage(display_user->renderer, texture, pos, display_user->size_window);
SDL_RenderPresent (display_user->renderer);
SDL_Event event;
SDL_Delay(100);
SDL_FreeSurface (img);
SDL_DestroyTexture (texture);
return;
}

View File

@@ -274,13 +274,13 @@ int inGameLoop (char **tab2d, vect *dim_tab, vect *playerPos, vect *targets,
vect size_menu
= { display_user->size_menu - 10, display_user->size_window / 3 - 10 };
vect coor_time
= { 10, display_user->size_window - display_user->size_menu + 10 };
= { 40, display_user->size_window - display_user->size_menu + 50 };
vect coor_move_player
= { display_user->size_window / 3 + 10,
display_user->size_window - display_user->size_menu + 10 };
= { display_user->size_window / 3 + 60,
display_user->size_window - display_user->size_menu + 50 };
vect coor_move_box
= { (display_user->size_window / 3) * 2 + 10,
display_user->size_window - display_user->size_menu + 10 };
display_user->size_window - display_user->size_menu + 50 };
if (menu)
fov = 5;
@@ -379,6 +379,7 @@ int inGameLoop (char **tab2d, vect *dim_tab, vect *playerPos, vect *targets,
{
snprintf (txt_button, 63,
" - : Niveau %d : - ",
indice_button);
}
else if (indice_button == dim_tab->y / 5)
@@ -398,12 +399,12 @@ int inGameLoop (char **tab2d, vect *dim_tab, vect *playerPos, vect *targets,
}
else
{
vect size_txt = { display_user->size_menu,
vect size_txt = { display_user->size_menu-50,
display_user->size_window };
char txt_empty[100]
char txt_empty[70]
= " - : Echap pour quitter : - ";
displayTextSDL (display_user, txt_empty, coor_time,
size_txt, 30);
size_txt, 25);
}
}
}

View File

@@ -44,10 +44,12 @@ int main ()
nullScore(&score_user);
SDL_RenderClear(display_user.renderer);
// Loop pour le jeu entier menu et les jeux.
while(output != 0)
{
SDL_RenderClear(display_user.renderer);
backgroundDisplay(&display_user);
if(output == -1)
{
menu = generatorMenu("maps", &dim_menu, &pos);