Inventaire
Anton
Charger des images
Section intitulée « Charger des images »load.js const PNG = ['apple','pineapple','watermelon','grape','grass',];Charger un son
Section intitulée « Charger un son »load.js const MP3 = ['score','wooosh','off',];Déclarer un objet
Section intitulée « Déclarer un objet »config.js const TILE_CONFIG = {// pastèqueq: () => [sprite('watermelon'),collectible({goesToInventory: true,type: 'watermelon',}),area({ isSensor: true }),respawn(),anchor('center'),pos(32, 32),],// pommep: () => [sprite('apple'),collectible({goesToInventory: true,type: 'apple',}),area({ isSensor: true }),respawn(),anchor('center'),pos(32, 32),],// raisinsr: () => [sprite('grape'),collectible({goesToInventory: true,type: 'grape',}),area({ isSensor: true }),respawn(),anchor('center'),pos(32, 32),],// ananasn: () => [sprite('pineapple'),collectible({goesToInventory: true,type: 'pineapple',}),area({ isSensor: true }),respawn(),anchor('center'),pos(32, 32),],// player'#': () => [sprite('bean'),platformerController(),jumpController(),sleep(),alive(),opacity(),scale(),health(1, 4),area(),body(),respawn(),falling(),rotate(),pos(0, -20),anchor('center'),'player',],// block'=': () => [sprite('grass-tileset'),offscreen({ hide: true }),tile({ isObstacle: true }),autoTiling(),area(),body({ isStatic: true }),],};modifier le joueur
Section intitulée « modifier le joueur »config.js // player'#': () => [inventory(),sprite('bean'),platformerController(),jumpController(),sleep(),alive(),opacity(),scale(),health(1, 4),area(),body(),respawn(),falling(),rotate(),pos(0, -20),anchor('center'),'player',],Lancer une animation
Section intitulée « Lancer une animation »game.js function events() {return {add() {on('disapear', 'collectible', (obj) => splashFX(obj.pos, { offset: vec2(0, -20) }))on('disapear', 'collectible', () => play('score'))// personnageson('respawn', 'alive', (obj) => (obj.flipY = false));on('hurt', 'alive', (obj) => {play('hit');colorShiftFx(obj, { color: 'ff9b9b' });});on('death', 'alive', (obj) => {obj.flipY = true;wait(0.2, () => {if (!obj.isAlive) {obj.hidden = true;obj.collisionIgnore = ['*'];obj.isStatic = true;}});});// joueuron('respawn', 'player', (obj) => obj.play('idle'));on('sleep', 'player', (obj) => obj.play('sleep'));on('awake', 'player', (obj) => obj.play('idle'));on('jump', 'player', (obj) => {play('wooosh');obj.play('jump', {speed: 4,onEnd: () => obj.play('idle'),});});on('drop', 'player', (obj) => {play('off');obj.play('worry');});on('hurt', 'player', (obj) => {obj.play('worry', {speed: 2,onEnd: () => obj.play('idle'),});});},};}Placer les objets
Section intitulée « Placer les objets »level.js const LEVELS = [{map: `p p==== qr r ======n===#======`,},]
Paramètres
Section intitulée « Paramètres »collectible()
exampleconfig.js
collectible({ tag: 'player', offset: vec2(0, -20), type: 'item', goesToInventory: false, autoDestroy: true, interactToPick: false}),inventory()
exampleconfig.js
inventory({ giveKey: 'space', payDistance: 200, deleteOnRespawn: true, numbers: false, itemSize: 40, speakHeight: 60, speakPadding: 4, stackMargin: 20, margin: 10, updateDelay: 0.2, displayDelay: 4, textSize: 40, textOffset: vec2(10, 34)}),