Trampolines
Saul
Les objets rebondissants peuvent être l’occasion de confronter le joueur à de nouveaux challenges sollicitant sa précision et son sens du timing
Charger une image
Section intitulée « Charger une image »load.js const PNG = ["mushroom","grass",]Charger un son
Section intitulée « Charger un son »load.js const MP3 = ["boing","wooosh","off",]Créer des composants
Section intitulée « Créer des composants »component.js function spring(p) {const param = {power: 1200,tag: "body",...p}return {id: "spring",add() {this.onCollide(param.tag, (obj, col) => this.checkSpringColission(obj, col))},checkSpringColission(obj, col) {if (col.isTop()) {obj.jump(param.power)this.trigger("spring")obj.trigger("spring")}},}}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: {"T": () => [ // champignonsprite("mushroom"),area(),anchor("bot"),body({ isStatic: true }),offscreen({ hide: true }),scale(),spring(),],"#": () => [ // 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 }),],},}Lancer une animation
Section intitulée « Lancer une animation »game.js scene("game", () => {const config = { ...LEVEL_CONFIG, ...LEVELS[CURRENT_LEVEL].config }const map = LEVELS[CURRENT_LEVEL].map.split("\n")const level = addLevel(map, config)add([multiplayerCamera(),])setGravity(config.gravity)setBackground(config.backgroundColor)on('spring', 'spring', (obj) => squishFx(obj))on('spring', 'spring', () => play('boing'))on('jump', 'player', () => play('wooosh'))on('drop', 'player', () => play('off'))on('respawn', 'player', (obj) => obj.play('idle'))on('sleep', 'player', (obj) => obj.play('sleep'))on('awake', 'player', (obj) => obj.play('idle'))on('jump', 'player', (obj) => obj.play('jump', { speed: 4, onEnd: () => obj.play('idle') }))on('drop', 'player', (obj) => obj.play('worry'))}Placer les objets
Section intitulée « Placer les objets »level.js const LEVELS = [{map: `=== === ===T T===# T T===== T`,},]
Paramètres
Section intitulée « Paramètres »exampleconfig.js
spring({ power: 1200, tag: "body"}),