Blocs amovibles

Les blocs dynamiques peuvent être déplacés par le joueur et ainsi l'assister dans ses déplacements si ce dernier les positionne judicieusement.

Charger une image

load.js
const PNG = [ "sand" , "grass" , "bean" , ]

Créer un composant

component.js
// Ajoutes ici tes propres composants
function respawn( onFall = false ){ const fall_margin = 600 const appear_anim_duration = 0.4 let resetPos return { id:"respawn", update(){ const f = LEVELS[CURRENT_LEVEL].length * levelConf.tileHeight + fall_margin if (resetPos==null) resetPos = vec2(this.pos) if (this.pos.y > f && onFall) this.respawning() }, respawning(){ this.pos=resetPos if (this.is("body")) this.vel = vec2(0,0) tween( 0 , 1 , appear_anim_duration , (p) => { this.opacity = p } , easings.easeInSine ) }, } }

Déclarer un symbole

level.js
const levelConf = { // paramètres du niveau tileWidth: 64, tileHeight: 64, tiles: { // listes des objet à placer dans les niveaux
"s": () => [ // sable sprite("sand"), area(), body(), anchor("bot"), offscreen({ hide: true }), respawn(), ],
"#": () => [ // 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 [ " s ===" , " s " , " === s " , " s " , " # " , "============ s " , " " , " === " , ], ];

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 : 2 } ),

si l'objet réapparait quand il tombe

Le premier paramètre du composant respawn permet de déterminer si les blocs réapparaissent ( true ) ou non ( false ) s'ils tombent du niveau

respawn( true ),