Les blocs qui écrasent sont des objets dynamiques que le joueur peut pousser, mais qui lui sont hostiles si elles le touchent par le haut alors que celui-ci est au contact du sol.
Charger une image
load.jsconst PNG = [ "steel" , "grass" , "bean" , ]
Charger un effet sonore
load.jsconst MP3 = [ "squish" , "wooosh" , "off" , ]
Créer un composant
component.js// Ajoutes ici tes propres composants
function stomp(target=null) { // blesse le joueur quand il lui tombe dessus return{ add(){ this.on( "collide" , (obj, col) => this.checkDangerColission(obj, col) ) }, checkDangerColission(obj, col){ if ( obj.is("character") && (target==null || obj.is(target) ) && obj.isGrounded() && col.isBottom() ){ obj.hit(obj.hp()) play("squish") } }, } }
Déclarer un symbole
level.jsconst levelConf = { // paramètres du niveau tileWidth: 64, tileHeight: 64, tiles: { // listes des objet à placer dans les niveaux
"X": () => [ // steel sprite("steel"), area(), body(), anchor("bot"), offscreen({ hide: true }), stomp(), ],"#": () => [ // player sprite("bean"), platformerController(), health(1), character(), area(), anchor("bot"), body(), ], "=": () => [ // bloc sprite("grass"), area(), body({ isStatic: true }), anchor("bot"), offscreen({ hide: true }), ], }, }
Placer les objets
level.jsconst LEVELS = [ // liste des niveaux du jeu [ "=== X = " , " X = " , " X =" , " # X =" , "==============" , ], ];
la masse de l'objet
Il est possible peux modifier la masse de l'élément dans le composant body
.
Plus le nombre est élevé, plus l'objet sera lourd et difficile à déplacer pour le joueur.
body( { mass : 10 } ),
une cible
Le premier paramètre du composant stomp
permet de spécifier quels éléments pourront être écrasés par le bloc.
Il est possible de créer son propre identifiant et de l'attribuer aux objets de son choix.
Les objets nécessitent le composant character
pour pouvoir être touchés par le bloc.
stomp( "player" )