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

创建AutoLoad脚本时遇'Invalid get Index "runnig"'空实例错误求助

解决Invalid get Index 'running': (on base: 'null instance')错误

这个错误的核心是你代码里的dialogue_box是null实例——也就是找不到对应的节点对象,导致访问running属性失败。以下是具体排查和解决步骤:

1. 修正节点路径(若未使用AutoLoad)

  • 确认你的Control节点下确实存在CanvasLayer/DialogueBox的层级结构,路径的大小写、拼写必须和Godot节点名称完全匹配(Godot路径区分大小写)。
  • 可临时添加调试代码验证:print(dialogue_box),运行后若输出null,说明路径错误,需重新核对节点层级。

2. 正确访问AutoLoad实例

如果DialogueBox是设为AutoLoad的节点/脚本,不能用节点路径$CanvasLayer/DialogueBox获取,需直接使用AutoLoad的全局名称:

  • 打开项目设置→AutoLoad,查看你配置的AutoLoad条目名称(比如名称为GlobalDialogue)
  • 代码里替换为全局名称调用:
    extends Control
    
    var playing_intro : bool = false
    
    func _ready():
        playing_intro = true
        if !GlobalDialogue.running:
            GlobalDialogue.start()
    

3. 检查属性拼写与定义

错误提示里出现runnig(少一个字母n),请确认:

  • 你代码里写的running拼写正确
  • DialogueBox脚本中确实定义了running属性(比如var running: bool = false)

4. 处理场景加载时机问题

如果场景是动态加载的,可能在_ready()执行时DialogueBox还未初始化,可把逻辑移到_process中并加判断:

func _process(delta):
    if playing_intro and dialogue_box != null:
        if !dialogue_box.running:
            dialogue_box.start()
            playing_intro = false  # 避免重复执行逻辑

5. 验证AutoLoad配置

  • 检查项目设置→AutoLoad中的条目:
    • 脚本路径是否正确指向DialogueBox的脚本文件
    • 条目是否勾选了Enable
    • 名称是否和你代码中使用的一致

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 04:35:05