Ce hack va permettre à ton joueur d'effectuer un double saut. Cette nouvelle aptitude va permettre à ton joueur de contrôler davantage ces mouvements, et sera ainsi capable de naviguer à travers des obstacles plus difficiles.
Créer un nouveau composant
Pour créer cette capacité, nous allons devoir créer un composant. Celui-ci comprend quelques de paramètres que tu peux les modifier si tu le souhaites, mais attention au résultat ! Rends-toi dans le script component.js
et ajoutes-y cette fonction.
function doublejump(jumpKey = "up" ) {
const JUMP_FORCE = 800 ;
const ROTATION_SPEED = 1400 ;
let djump = true ;
let spinning = false ;
return {
require: [ "rotate", ],
add(){
onKeyPress( jumpKey , () => {
if (!this.isGrounded() && djump){
this.jump( JUMP_FORCE) ;
djump = false ;
spinning=true;
}
});
},
update() {
if(spinning) this.angle += ROTATION_SPEED * dt()
if (this.angle >= 360) {
spinning = false
this.angle = 0;
}
if (this.isGrounded() ){
djump = true ;
spinning=false;
this.angle = 0;
}
},
}
}
Ajouter le composant au personnage
Nous devons maintenant ajouter ce nouveau composant au joueur.
Dans le script game.js
, à l'intérieur de la scène game
, trouve la variable player
et ajoutes-y cette ligne.
// définition du joueur
const player = add( [
pos(-64,0) ,
area() ,
body() ,
doublejump(),
rotate(),
controller() ,
sprite( "bean" ) ,
origin( "center" ) ,
"player" ,
] ) ;