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() ;
}