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