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

CanvasLayer嵌套场景内的Button无法点击问题求助

解决CanvasLayer嵌套场景中Button无法点击的问题
  • 检查Inventory场景根节点的鼠标过滤属性
    打开你的Inventory场景,选中根节点,在检查器中找到Mouse Filter(Godot 4)或Mouse Mode(Godot 3)属性。如果该属性设置为Stop,会拦截所有鼠标事件,导致子节点的Button无法接收点击。将其修改为Pass,让鼠标事件可以透传到下层的Button节点。

  • 确认节点的可见性与运行状态
    确保CanvasLayer和Inventory节点的Visible属性处于勾选状态,同时Process Mode设置为Inherit或Always。若节点处于隐藏或未激活状态,输入事件会被直接忽略。

  • 检查Button自身的可点击设置
    逐个检查Inventory场景内的Button节点,确认Input Pickable属性已勾选。如果该属性未开启,Button本身无法响应鼠标点击。

  • 排查层级遮挡问题
    查看Inventory场景内是否有其他Control节点(如Panel、ColorRect)覆盖在Button上方,且这些节点的Mouse Filter设置为Stop。这类节点会抢占鼠标事件,导致下方的Button无法被触发。调整上层节点的Mouse Filter为Pass或修改Z-Index让Button处于更高层级。

  • 验证代码实例化的参数设置
    如果你是通过代码实例化Inventory场景,检查代码中是否意外修改了节点的mouse_filter或input_pickable属性。比如误写了inventory_instance.mouse_filter = Control.MOUSE_FILTER_IGNORE这类代码,会直接禁用节点的输入响应。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 11:42:05