Aller au contenu

Inverser la gravité

Léomyl
  1. config.js
    // player
    '#': () => [
    gravitySwitchController(),
    spriteFacing({facingX:false}),
    "gravity",
    sprite('bean'),
    platformerController(),
    jumpController(),
    sleep(),
    alive(),
    opacity(),
    scale(),
    health(1, 4),
    area(),
    body(),
    respawn(),
    falling(),
    rotate(),
    pos(0, -20),
    anchor('center'),
    'player',
    ],
  2. events.js
    function events() {
    return {
    add() {
    // gravité
    on('reverse gravity', 'player', (obj) => {
    obj.play('jump', {
    speed: 4,
    onEnd: () => obj.play('idle'),
    });
    play('wooosh');
    });
    // personnages
    on('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;
    }
    });
    });
    // joueur
    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) => {
    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'),
    });
    });
    },
    };
    }
platformerController()
example
config.js
platformerController({
leftKey: 'left',
rightKey: 'right',
moveSpeed: 480,
glideDelay: 0.1,
moveReductionDelay: 0.1
}),