Programmation 2D avec la SDL2 : Maîtrise les images avec le langage C et la librairie SDL2

Ce qui vous bloque le plus pour vous lancer dans le dev en C c’est de pouvoir facilement afficher des images. Le reste c’est juste de la syntaxe et le C est un langage simple, ça serait dommage de ne pas avoir cette corde à votre arc.

Alors j’ai tout autopsié, tout découpé, et tout expliqué dans cet atelier super complet et simple à suivre et à comprendre !

Dans cet atelier, vous allez apprendre à utiliser le langage C et la librairie SDL2 pour charger et afficher des images.

Vous allez apprendre à :

  • Installer la librairie SDL_image
  • Comprendre ce qu’est une image
  • Charger une image en mémoire et la transformer en texture
  • Afficher des images pour créer un scrolling parallaxe
  • Afficher une image et animer son déplacement pour la faire rebondir sur l’écran
Nombre de vidéos: 8
Durée totale des vidéos: 1h10
Nombre de pages du support de cours: 18
Langage(s): C
Framework(s) / Moteur(s): SDL2

Bienvenue !

Vous n’avez hélas pas accès à cet atelier Premium. Voici les options qui s’offrent à vous :

Comments (2)

Hello tout le monde,

1) Pour le code source de l’atelier, petit bug, je pense dans le nom de l’image pour les étoiles en arrière plan:

==> « gfx/background_starsxxx.png »
==> correction « gfx/background_stars.png »

SDL_Texture *texBG = LoadTexture2(renderer, « gfx/background.jpg »);
int iTexBG_w, iTexBG_h;
SDL_QueryTexture(texBG, NULL, NULL, &iTexBG_w, &iTexBG_h);

==> à corriger ==> SDL_Texture *texStars = LoadTexture2(renderer, « gfx/background_starsxxx.png »); <== à corriger corrigé ==> SDL_Texture *texStars = LoadTexture2(renderer, « gfx/background_stars.png »); SDL_Texture *texBG = LoadTexture2(renderer, « gfx/background.jpg »); SDL_Texture *texBG = LoadTexture2(renderer, « src/gfx/background.jpg »);
int iTexBG_w, iTexBG_h;
SDL_QueryTexture(texBG, NULL, NULL, &iTexBG_w, &iTexBG_h);

correction ==> SDL_Texture *texStars = LoadTexture2(renderer, « src/gfx/background_stars.png »);
int iTexStars_w, iTexStars_h;
SDL_QueryTexture(texStars, NULL, NULL, &iTexStars_w, &iTexStars_h);

correction ==> SDL_Texture *texPlanet = LoadTexture2(renderer, « src/gfx/planet.png »);
int iTexPlanet_w, iTexPlanet_h;
SDL_QueryTexture(texPlanet, NULL, NULL, &iTexPlanet_w, &iTexPlanet_h); <== fin de la correction

Suite:
2) petit bug dans l’accès au dossier SFX contenant les 3 images (mais possible que ça dépend de l’endroit où l’on lance la compilation du projet, c est à dire que j’ai lancé depuis le root du projet….):

à corriger ==> SDL_Texture *texBG = LoadTexture2(renderer, « gfx/background.jpg »); SDL_Texture *texBG = LoadTexture2(renderer, « src/gfx/background.jpg »);

correction ==> SDL_Texture *texStars = LoadTexture2(renderer, « src/gfx/background_stars.png »);

correction ==> SDL_Texture *texPlanet = LoadTexture2(renderer, « src/gfx/planet.png »); <== fin de la correction

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.