Blocs qui écrasent

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.js
const PNG = [ "steel" , "grass" , "bean" , ]

Charger un effet sonore

load.js
const 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.js
const 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.js
const 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" )