Personnage volant
Charger une image
Section intitulée « Charger une image »load.js const PNG = ["btfly","grass",]Charger un son
Section intitulée « Charger un son »load.js const MP3 = ["hit","wooosh","off",]Déclarer un objet
Section intitulée « Déclarer un objet »config.js const TILE_CONFIG = {"I": () => [ // papillon hostilesprite("btfly"),area(),anchor("bot"),offscreen({ hide: true }),body({gravityScale: 0,stickToPlatform: false,}),color("ff9696"),respawn(),fly({ wanderDistance: 400, speed: 120, stopdistance: 30 }),z(1),alive(),health(1),danger({ tag: "player" }),],"i": () => [ // papillon passifsprite("btfly"),area(),anchor("bot"),offscreen({ hide: true }),body({gravityScale: 0,stickToPlatform: false,}),respawn(),fly(),"pass through",],"#": () => [ // 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 }),],}Placer les objets
Section intitulée « Placer les objets »level.js const LEVELS = [{map: `=== iiiii Iiiii#=====`,},]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('hurt', 'alive', (obj) => colorShiftFx(obj, { color: 'ff9b9b' }))on('hurt', 'alive', () => play('hit'))on('hurt', 'player', (obj) => obj.play('worry', { speed: 2, onEnd: () => obj.play('idle') }))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'))}
Paramètres
Section intitulée « Paramètres »fly()
exampleconfig.js
fly({ fallSpeed: 40, magnetic: true, speed: 60, wanderDistance: 0, stopdistance: 6, rotateDelay: 0.8, collisionIgnore: true}),