Fonction drawImage VS drawBitmap (gamebuinoClassic) - options de rotation

General

Frakasss

4 years ago

Salut tout le monde!

J'essaie actuellement de migrer un de mes jeux Gamebuino Classic vers la META (et d'arranger un peu le code).

J'utilisais beaucoup les paramètres optionnels [, uint8_t rotation , uint8_t flip ] de la fonction drawBitmap(). Je constate que ces paramètres ne sont plus d'actualité sur la fonction drawImage().


Du coup, question bête: y a-t-il une autre façon de faire, ou doit-on programmer ça soit même? :-)

Merci d'avance pour le coup de pouce!


jicehel

NEW 4 years ago

On doit le faire soit même mais on trouve assez facilement les astuces (en tous cas pour la plupart).

J'ai commencé après les tutos par apprendre en faisant des conversions de jeux sympa de la classique vers la META puis en y ajoutant quelques plus comme la couleur etc... Pou le son, j'ai mis des wav à la place. 

Frakasss

NEW 4 years ago

Merci pour l'info. 

J'ai bien une idée (je redéclare les mêmes images en flip horizontal) mais c'est dommage de perdre cet espace mémoire...

J'avoue, j’espérais secrètement qu'il y ait d'autres méthodes qui ferait ça proprement :-) 


gb.display.drawHFLIPImage(x,y,img)

gb.display.drawVFLIPImage(x,y,img)

jicehel

NEW 4 years ago

Non tu peux inverser avec drawImage. Là, je suis un peut occupé, mais fais une recherche, il suffit de mettre une largeur ou une hauteur négative avec la syntaxe:  virtual void drawImage(int16_t x, int16_t y, Image& img, int16_t w2, int16_t h2);

Regardes l'excellent exemple de Steph ici: https://gamebuino.com/fr/community/topic/premier-jeu-last-defenders-nom-provisoire-aides-en-tout-genre?page=2#c14101

Frakasss

NEW 4 years ago

Ah bah voila! :-D Merci!


Si j'ai une image Img de 8x10:

//Affichage normal
gb.display.drawImage(x,y,Img);

//Affichage Flip Horizontal:
gb.display.drawImage(x,y,Img,-8,10);

//Affichage Flip Vertical:
gb.display.drawImage(x,y,Img,8,-10);
//Affichage Flip Vertical et Horizontal:
gb.display.drawImage(x,y,Img,-8,-10);