Class 方法 returns 每次都为空

Class method returns null every time

我制作了一个 class 脚本,如下所示:

extends Node

class_name Class

func method():
    pass

然后我在主场景中使用该脚本添加了一个子节点。

接下来,在我的主场景 gdscript 中,我添加了这组代码:

extends Node2D

var class = $Class # That's the child node using my previous script

func _ready():
    print(class.method())

而且无论我在 method() 函数中放入什么,主脚本总是会在我的输出中打印“Null”。我已经尝试将内容打印出来,它的行为与它应该的完全一样,除了它仍然在我的输出末尾打印“Null”。

有人知道如何解决这个问题吗?

看起来不像class.method()returns什么。

目前您要求 GDScript 打印 class.method() 的结果。它将 运行 方法,但如果没有任何返回,它只是默认为 Null.

func method():
    return  "Hello World"

如果您在上面调用 print,它会打印“Hello World”,因为这就是返回的内容。

print(class.method()) 等同于:

var result_of_method = class.method() # `class.method()` will return Null
print(result_of_method) # will print "Null"

正如@JarWarren 建议的那样,您需要将方法更改为 return 某些东西