Personnage qui trouve son chemin
Victor
Charger une image
Section intitulée « Charger une image »load.js const PNG = ['marroc','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 = {// agentY: () => [sprite('marroc'),agent({ speed: 160 }),area({ collisionIgnore: ['agent'] }),body({ gravityScale: 0 }),anchor('center'),offscreen({ hide: true }),danger({ tag: 'player' }),respawn(),color('ff9696'),followAi(),sight({ sight: 1000, looseSight: 1200 }),'agent',],// agenty: () => [sprite('marroc'),agent({ speed: 200 }),area({ collisionIgnore: ['agent'] }),body({ gravityScale: 0 }),anchor('center'),offscreen({ hide: true }),respawn(),followAi(),sight({ sight: 1000, looseSight: 1200 }),'agent',],// 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 un symbole
Section intitulée « Modifier un symbole »config.js // player 1'=': () => [tile({ isObstacle: true }),sprite('grass-tileset'),offscreen({ hide: true }),tile({ isObstacle: true }),autoTiling(),area(),body({ isStatic: true }),],Placer les objets
Section intitulée « Placer les objets »level.js const LEVELS = [{map: `========================== = = == Y = = == = = === = === == = y = = = == = == = == = = = = == # = = ==========================`,},]Lancer une animation
Section intitulée « Lancer une animation »game.js function events() {return {add() {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') }))// 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'),});});},};}
Paramètres
Section intitulée « Paramètres »exampleconfig.js
agent( { speed : 200 } ),followAi()
exampleconfig.js
followAi({ retreat: true, tragetMemory: true, stopDistance: 10}),danger()
exampleconfig.js
danger({ damage: 1, collisions: ['top', 'left', 'bot', 'right'], ongoing: false, tag: '*', on: true}),