export function controlSprite()

in libs/game/controller.ts [24:63]


    export function controlSprite(sprite: Sprite, vx: number, vy: number) {
        if (!sprite) return;
        if (!controlledSprites) {
            controlledSprites = [];
            game.currentScene().eventContext.registerFrameHandler(19, () => {
                controlledSprites.forEach(controlled => {
                    if (controlled.vx) {
                        controlled.s.vx = 0;

                        if (controller.right.isPressed() || controller.B.isPressed()) {
                            controlled.s.vx = controlled.vx;
                        }
                        if (controller.left.isPressed() || controller.A.isPressed()) {
                            controlled.s.vx = -controlled.vx;
                        }
                    }

                    if (controlled.vy) {
                        controlled.s.vy = 0;

                        if (controller.down.isPressed()) {
                            controlled.s.vy = controlled.vy;
                        }
                        if (controller.up.isPressed()) {
                            controlled.s.vy = -controlled.vy;
                        }
                    }
                });
            });
        }

        for (let i = 0; i < controlledSprites.length; i++) {
            if (controlledSprites[i].s.id === sprite.id) {
                controlledSprites[i].vx = vx;
                controlledSprites[i].vy = vy;
                return;
            }
        }
        controlledSprites.push({ s: sprite, vx: vx, vy: vy });
    }