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

如何在不修改节点层级时调整_unhandled_key_input的调用顺序?

解决Godot 3.5中_unhandled_key_input调用顺序问题

首先明确:process_priority仅控制_process、_physics_process这类帧更新回调的执行顺序,对_unhandled_key_input这类输入事件回调完全无效,这就是你调整它没效果的原因。

要在不修改节点层级的前提下改变_unhandled_key_input的调用顺序,可使用Godot专门提供的输入优先级设置方法:

  • 在节点A的脚本中添加_ready函数,设置更高的未处理输入优先级:
extends Node2D

func _ready():
    # 优先级数值越高,_unhandled_key_input越先被调用,默认值为0
    set_process_unhandled_input_priority(10)

func _unhandled_key_input(event):
    print(self," _unhandled_key_input")

节点B保持默认优先级即可。此时按下按键,A的_unhandled_key_input会先触发,输出顺序将变为A在前、B在后。

原理:Godot 3.5中,set_process_unhandled_input_priority是专门用于调整_unhandled_input和_unhandled_key_input执行顺序的API,优先级数值更高的节点会优先收到回调。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 04:32:05