Dessinez et personnalisez vos sprites avec notre éditeur - Cours 110
Table des matières
- Introduction
- Programmation de la partie droite de l'éditeur de sprite
- Les trois fonctions pour dessiner des carrés et des lignes
- La conversion des couleurs RGBA en format SDL
- Les constantes pour la partie droite de l'éditeur
- Initialisation du programme et configuration des couleurs
- Calcul des Dimensions maximales du sprite
- Dessin du fond de l'écran et de la grille
- Dessin d'un pixel dans le sprite
- Dessin du rectangle de la partie droite de l'éditeur
🖊️ Programmation de la partie droite de l'éditeur de sprite
L'objectif de cette partie est de programmer la fonctionnalité pour dessiner dans la partie droite de l'éditeur de sprite. Nous allons utiliser trois fonctions pour dessiner des carrés et des lignes, qui nous permettront de représenter les pixels du sprite. Ces fonctions utilisent la surface SDL affichée à l'écran.
La première fonction que nous utiliserons est la fonction "drawRectangle", qui dessine un rectangle de la couleur spécifiée aux coordonnées données. Nous utiliserons les coordonnées du coin supérieur gauche et du coin inférieur droit. Cette fonction est assez simple et ne pose pas de difficultés particulières.
Ensuite, nous avons la fonction "drawHorizontalLine", qui dessine une ligne horizontale de la couleur spécifiée. La ligne est représentée par son numéro de ligne et les colonnes de début et de fin. Si les colonnes de début et de fin sont inversées, la fonction fait un appel récursif à elle-même en échangeant les valeurs.
Enfin, nous avons la fonction "drawVerticalLine", qui fonctionne de la même manière que la fonction "drawHorizontalLine", mais pour une ligne verticale.
Ces trois fonctions sont assez basiques et nous les avons déjà utilisées dans d'autres projets. Il est important de noter que nous avons écrit ces fonctions en dehors de la caméra car elles ne posent pas de difficultés particulières et font simplement appel au dessin des pixels pour garantir que les formats de pixels écrits dans l'image soient compatibles avec la surface SDL.
Maintenant que nous avons ces fonctions à notre disposition, nous pouvons commencer à programmer la partie droite de l'éditeur de sprite.
🖌️ Programmation de la partie droite de l'éditeur de sprite
Dans cette partie de l'éditeur de sprite, nous allons développer les fonctionnalités qui permettront de dessiner sur la surface du sprite. Nous allons utiliser les fonctions que nous avons définies précédemment pour dessiner des carrés et des lignes.
Tout d'abord, nous devons créer les constantes nécessaires pour cette partie de l'éditeur. La première constante que nous allons définir est le "zoom factor", qui détermine le grossissement des pixels du sprite. Nous allons le fixer à 5 pour l'Instant. Ensuite, nous allons définir les constantes pour les couleurs de fond de la fenêtre et de la grille.
Nous allons également ajouter des champs supplémentaires à notre structure globale, tels que la couleur de fond du sprite et la couleur de dessin par défaut. Ces champs seront initialisés dans la fonction "init" et pourront être modifiés ultérieurement grâce à un menu.
Une fois que nous avons défini ces constantes, nous devons calculer les dimensions maximales du sprite en fonction de la taille de la zone dans laquelle nous allons dessiner. Ces dimensions maximales seront utilisées pour limiter la taille du sprite.
Ensuite, nous devons dessiner le fond de l'écran avec la couleur de fond spécifiée. Nous utilisons la fonction "drawRectangle" pour dessiner un rectangle qui couvre toute la surface de l'écran.
Maintenant que nous avons préparé notre fenêtre, nous pouvons commencer à dessiner sur le sprite. Pour cela, nous avons besoin de la fonction "drawPixel", qui dessine un pixel noir aux coordonnées spécifiées dans le sprite. Nous utilisons la fonction "imagePixels" pour accéder aux pixels de l'image et la fonction de conversion des couleurs RGBA en format SDL.
Enfin, nous devons mettre à jour l'affichage après chaque dessin. Pour cela, nous utilisons la fonction "SDL_Flip" qui rafraîchit la surface d'affichage. Cela permet de voir le résultat du dessin en temps réel.
Avec toutes ces fonctionnalités en place, vous pourrez maintenant dessiner sur le sprite en cliquant et en déplaçant la souris. Vous pourrez également choisir la couleur de dessin par défaut et voir le résultat en temps réel.
➡️ Suite et conclusion
Dans le prochain article, nous continuerons à développer l'éditeur de sprite en ajoutant de nouvelles fonctionnalités telles que le remplissage, le tracé de lignes droites et le choix des couleurs. Nous espérons que cet article vous a été utile et nous vous donnons rendez-vous la prochaine fois pour la suite de notre série sur la programmation de l'éditeur de sprite.
Merci de nous suivre et à bientôt !
⚡ Points forts de l'article
- Présentation des fonctions de dessin de carrés et de lignes
- Utilisation de la conversion des couleurs RGBA en format SDL
- Ajout des constantes et des champs nécessaires pour la partie droite de l'éditeur
- Calcul des dimensions maximales du sprite
- Dessin du fond de l'écran et de la grille
- Dessin d'un pixel dans le sprite avec la fonction "drawPixel"
- Mise à jour de l'affichage après chaque dessin
❓ FAQ
Q: Comment puis-je changer la taille du sprite dans l'éditeur ?
A: La taille du sprite est déterminée par les dimensions maximales du sprite, qui peuvent être modifiées dans la fonction d'initialisation du programme.
Q: Comment puis-je choisir une couleur de dessin différente ?
A: Vous pouvez configurer la couleur de dessin par défaut dans la fonction d'initialisation du programme. Vous pourrez également choisir une couleur différente grâce à un menu dans les futures versions de l'éditeur.
Q: Est-il possible de dessiner des lignes droites dans l'éditeur de sprite ?
A: Oui, dans les prochains articles, nous ajouterons la fonctionnalité pour tracer des lignes droites en maintenant le bouton de la souris enfoncé et en déplaçant le pointeur. Restez à l'écoute !
Ressources supplémentaires :