Images/Sprites Arduino

Bonjour,
Je recherche à créer mes propres sprites et fond pour créer un jeu, mais je ne comprends pas comment et où les créer/dessiner pour les inclure dans le code Arduino,
(nottement avec les fameux uint16_t et uint8_t)

Avez vous des idées/tips pour moi ?
Merci !

Bonjour, pour créer tes sprites tu peux créer une image avec le logiciel que tu veux, Piskel, Gimp, n’importe, après tu l’exportes en PNG, GIF JPEG et BMP puis tu peux ensuite utiliser cet outil pour transcrire ton image en un tableau c++ : https://gamebuino.caffe1ne.com/tools/img2code/

Regarde ce topic (le topic de l’outil en question) qui va te donner plus de précisions : Image transcoder -- By Steph
Tu peux Ă©galement regarder cette resource https://gamebuino.com/fr/academy/standalone/add-images-to-your-games qui donne quelques infos utiles.

Hésites à poser d’autres question si tu t’en sors pas :). Bon courage !

3 Likes

Tu devrais trouver ton bonheur ici: Image transcoder -- By Steph
Sinon tu peux lire ce sujet: Sokoban partie 3 creons la vie -- By jicehel

1 Like

On s’est croisé Codnpix… Cool, plein de réponses pour toi ArtiLabs. J’espère que tu trouveras ton bonheur :wink:

2 Likes

Merci pour tous ces liens, mais j’ai une question, comment régler la Frame width, la Frame width et l’Animation speed ?
Merci Ă  vous !

Avec la fonction drawImage() tu peux ajouter des paramètre additionnel pour réajuster les dimensions de l’image si nécessaire, tu peux également faire un recadrage etc : https://gamebuino.com/fr/academy/reference/graphics-drawimage

Sinon pour maitriser les dimensions et la vitesse de ton animation au niveau de code source de ton image il faut régler les paramètre dans l’entête du tableau :

const uint16_t myImgBuf[] = {
  2, 2, // largeur, hauteur
  1, // images
  0, // boucle image
  0, // couleur transparente
  0, // mode couleur

  0x1234, 0x2345,
  0x3456, 0x4567,
};

Image myImg(myImgBuf);

Dans le cas d’une spritesheet animée avec plusieurs frames tu doit régler le 4e paramètre de l’entête du tableau sur le nombre de frame. Et pour régler la vitesse comme tu veux le mieux est de mettre ce paramètre à zero et de gérer toi même l’animation avec la fonction setFrame(). Je te conseille de regarder sur cet ancien sujet (je n’ai pas retrouvé le commentaire sur le nouveau forum…) ou @Steph avait très bien expliqué la technique à utiliser : https://gamebuino.com/fr/community/topic/premier-jeu-last-defenders-nom-provisoire-aides-en-tout-genre?page=2

1 Like

Merci beaucoup @Codnpix !