我刚刚学完JavaScript,决定尝试用它来制作游戏。然后我发现了KaplayJS并且在过去的3天里一直在学习它,并且想听听你的意见关于这个代码。

主代码:

场景("游戏", () => {


    设置重力(1200)


    let 分数 = 0


    const playerScore = add([
        文本("得分:0"),
        pos(20, 20)
    ])


    function 更新分数() {
        playerScore.text = `得分:${分数}`
    }


    const floor = add([
        rect(10000, 2000),
        pos(0.2, 725),
        颜色("#358a00"),
        body({ isStatic: true }),
        area(),
    ])


    const player = add([
        sprite("mark"),
        pos(center()),
        scale(2),
        anchor("center"),
        rotate(0),
        area(),
        body(),
        "mark"
    ]);


    const enemy = add([
        sprite("bean"),
        pos(240, 673),
        scale(2),
        anchor("center"),
        rotate(0),
        area(),
        body(),
        "enemy"
    ])


    function kaboom(target) {
        addKaboom(target.pos)
        play("kaboom", { volume: 1, speed: 1.5 })
        destroy(target)


    }
    function spawnEnemy() {
        return add([
            sprite("bean"),
            pos(rand(50, 900), 100),
            area(),
            body(),
            "enemy",
        ])
    }
    player.onCollide("enemy", (e) => {
        kaboom(e)
        spawnEnemy()
        分数++
        updateScore()
    })


    onKeyDown("right", () => {
        const SPEED = isKeyDown("shift") ? 500 : 300
        player.move(SPEED, 0)
    })


    onKeyDown("left", () => {
        const SPEED = isKeyDown("shift") ? 500 : 300
        player.move(-SPEED, 0)
    })


    onKeyDown("space", () => {
        if (player.isGrounded()) {
            player.jump(550)
        }
    })


    debug.inspect = true



});

资源:

加载Sprite("mark", "assets/sprites/mark.png");
加载Happy();
加载Sprite("bean", "assets/sprites/bean.png");
加载Sound("kaboom", "assets/sounds/explosion_1.mp3");

想法:

基本上你就是一个叫做马克的黄色球,带着一个微笑的脸,跑着碰到绿色球,叫做豆子。每次你碰到豆子,它就会死掉,分数就会增加。

我真的很自豪自己能完成这个游戏,因为我以前从来没有编写过游戏,我更习惯用HTML、CSS和JS来制作一些有趣的网站,甚至在这方面我也不是很擅长。真的觉得Kaplay被低估了。