You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Kaboom.js点击指定位置添加方块功能失效,新手求助

问题修复方案

你的代码有几个明显问题,直接导致功能失效:

  • 无效语法:on mouse click是错误写法,直接删掉这行,Kaboom里绑定点击事件只需要onClick回调即可。
  • 位置被硬编码死:block函数里写死了pos(width(), height() - 48),等于不管点击哪里,方块都固定在右下角,把这行改成pos(xyz)才会使用传入的鼠标位置。
  • origin参数用错:origin是用来设置方块自身原点的(比如让中心对齐点击点),不是传鼠标位置,改成origin("center")或者直接删掉都行,删掉的话方块左上角会对齐点击位置。
  • 遗漏引擎初始化:刚用Kaboom最容易漏这个,必须先调用kaboom()启动引擎,不然所有API都不工作。

修复后的完整代码:

// 先初始化Kaboom引擎
kaboom()

function block(xyz) {
    add([
        rect(48, 64),
        area(),
        outline(4),
        pos(xyz), // 使用传入的鼠标位置
        origin("center"), // 方块中心对齐点击点(可选,按需调整)
        color(255, 180, 255),
        "tree", 
    ]);
};

// 绑定点击事件
onClick(() => {
    block(mousePos())
});

现在点击页面任意位置,就能在对应地方生成粉紫色方块了。

内容的提问来源于stack exchange,提问作者YetNT

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.22 08:33:35