Afficher une image temporairement

Tu veux rendre ton jeu plus dynamique avec des effets visuels foudroyants ? Tu es au bon endroit !

Créer une variable publique

Pour commencer, crée ce variable public, en dehors d'une fonction, dans le script game.js.

let jumpImages ;

Créer la classe jumpImage()

Ensuite, ajoute cette nouvelle classe dans le script game.js.

class jumpImage { constructor(image){ // ici sont déclarés les variables de chaque pancartes this.img = image ; this.t = millis(); } }

Créer la fonction newJumpImage() et jumpImageDisplay()

Ensuite, toujours dans le même script, ajoute ces deux nouvelles fonctions.

function newJumpImage( img ){ // cette fonction crée une nouvelle pancarte jumpImages = new jumpImage( img ) ; }
function jumpImageDisplay(){ // cette fonction affiche les pancartes let dly = 1000 ; // duréee de l'effet let amp = 0.1 ; // amplitude des secousses let nmb = 6 ; // nombre de secousses if(jumpImages){ let d = ( millis() - jumpImages.t ) / dly ; if ( d < 1 ) { let img = jumpImages.img ; let c = img.height / img.width ; let h = view.height * sin(d*HALF_PI) ; let x = view.width / 2 ; let y = view.height / 2 ; push(); translate(x , y); rotate(sin(d*PI*nmb)*PI*amp); image( img , 0 , 0 , h , h * c ) ; pop(); } } }

N'hésite pas à jouer avec les réglages pour modifier l'effet

Afficher l'effet

Nous y sommes presque, il nous reste encore à afficher l'effet au bon endroit. Toujours dans le script game.js, trouve la fonction game() et ajoutes-y cette ligne.

function game(){
  
  background( 0 ) ;
  
  viewDisplay() ;

jumpImageDisplay();
inventoryDisplay(); if ( animation() ) playerControl() ; }

Déclancher l'effet

Bravo ! Maintenant il ne nous reste plus qu'à choisir quand déclencher l'effet. Pour cela ajoute simplement cette ligne à l'endroit du programme où tu souhaites déclencher l'effet.

newJumpImage(lee);

J'oubliais, tu voulais peut-être une autre image que celle du glorieux capitaine Lee. Remplace lee par le nom de ton image, comme dans l'exemple. Si tu n'a pas fait le hack pour ajouter d'autres images, c'est le moment !

newJumpImage(monImage[0]); // pour l'image monImage[0]
newJumpImage(monImage[1]); // pour l'image monImage[1]