Checkpoints
Saul
Les checkpoints permettent de préserver la patience du joueur et de centrer l’expérience sur les passages les plus difficiles. L’accumulation de checkpoints peut aussi réduire les conséquences des actions du joueur et ainsi nuire à la tension du jeu.
Charger une image
Section intitulée « Charger une image »load.js const PNG = ["flag","grass",]Charger un son
Section intitulée « Charger un son »load.js const MP3 = ["signal","wooosh","off",]Déclarer un objet
Section intitulée « Déclarer un objet »config.js const TILE_CONFIG = {"P": () => [ // checkpointsprite("flag"),area(),anchor("bot"),pos(0, 10),rotate(),checkpoint(),swing({on: false,amplitude: 10,speed: 4,}),],"#": () => [ // player 1sprite("bean"),platformerController(),jumpController(),sleep(),alive(),opacity(),scale(),health(1, 4),area(),body(),respawn(),falling(),rotate(),pos(0, -20),anchor("center"),],"=": () => [ // blocksprite("grass"),area({ collisionIgnore: ["agent"] }),body({ isStatic: true }),anchor("bot"),offscreen({ hide: true }),tile({ isObstacle: true }),],}Lancer une animation
Section intitulée « Lancer une animation »game.js scene("game", () => {const tiles = { ...TILE_CONFIG, ...LEVELS[CURRENT_LEVEL].tiles }const config = { ...LEVEL_CONFIG, ...LEVELS[CURRENT_LEVEL].config, ...{tiles:tiles}}const map = LEVELS[CURRENT_LEVEL].map.split('\n')const level = addLevel(map, config)const utility = add([multiplayerCamera(),])setGravity(config.gravity)setBackground(config.backgroundColor)on('checkpoint on', 'checkpoint', (obj) => obj.swingSwitch(true))on('checkpoint off', 'checkpoint', (obj) => obj.swingSwitch(false))on('checkpoint on', 'checkpoint', () => play('signal'))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: `# P P===== === ===`,},]
Paramètres
Section intitulée « Paramètres »checkpoint()
exampleconfig.js
checkpoint({ onInteract: true, forAllPlayer: true, tag: "player"}),swing()
exampleconfig.js
swing({ delay: 0.4, amplitude: 4, speed: 1, on: true}),