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
相关产品推荐
相关产品推荐

