Les échelles peuvent permettre de donner au jeu plus de verticalité et peuvent être l'occasion de présenter de nouveaux types de défis pour le joueur.
Charger une image
load.jsconst PNG = [ "ladder" , "grass" , "bean" , ]
Créer un composant
component.js// Ajoutes ici tes propres composants
function climbSurface() { // permet à un joueur de grimper return { add() { this.onCollideEnd("player" , (p) => p.onLadder = false ) this.onCollide ("player" , (p) => p.onLadder = true ) }, } }
Déclarer un symbole
level.jsconst levelConf = { // paramètres du niveau tileWidth: 64, tileHeight: 64, tiles: { // listes des objet à placer dans les niveaux
"H": () => [ // échelle climbSurface(), sprite("ladder"), area(), anchor("bot"), offscreen({ hide: true }), z(-1), ],"#": () => [ // 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 [ " H " , " H H H ===" , " H H H " , " # H H " , "====== " , ], ];
la taille de la hitbox
Il est possible peux rétrécir la zone de contact des pics dans le composant area
.
La première valeur permet de modifier la taille horizontale, la seconde permet de modifier la taille verticale ( 1
, 1
pour la taille originale )
area( { scale : vec2( 0.6 , 1 ) } )