Bloc évanescent
Fanny
Les blocs évanescents n’aparaissent que lorsqu’un personnage s’en rapproche.
Charger une image
Section intitulée « Charger une image »load.js const PNG = ["invisible","grass",]Créer un composant
Section intitulée « Créer un composant »component.js function vanishing(p) {const param = {invisibleDistance: 240,visibleDistance: 60,tag: "alive",...p}return {require: ["opacity"],id: "invisible",update() {let op = 1for (const e of get(param.tag, { recursive: true })) {const d = (e.pos.dist(this.pos) - param.invisibleDistance)const calcul = 1 - clamp(0, 1, d / param.visibleDistance)op = Math.min(op, calcul)}this.opacity = op}}}Déclarer un objet
Section intitulée « Déclarer un objet »config.js const LEVEL_CONFIG = {// paramètres du niveautileWidth: 64,tileHeight: 64,backgroundColor: "afe1ff",gravity: 3200,tiles: {"*": () => [ // textsprite("invisible"),area(),body({ isStatic: true }),anchor("bot"),offscreen({ hide: true }),vanishing(),opacity(),],"#": () => [ // player 1sprite("bean"),platformerController(),alive(),opacity(),scale(),health(1, 4),area(),anchor("bot"),body(),respawn(),falling(),],"=": () => [ // blocksprite("grass"),area(),body({ isStatic: true }),anchor("bot"),offscreen({ hide: true }),],},}Placer les objets
Section intitulée « Placer les objets »level.js const LEVELS = [{map: `***********#*****`,},]
Paramètres
Section intitulée « Paramètres »exampleconfig.js
vanishing({ invisibleDistance: 240, visibleDistance: 60, tag: "alive"}),