类方法每次都返回null

时间:2020-10-09 20:05:41

标签: class methods nodes godot gdscript

我制作了一个类似于以下内容的类脚本:

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”外,它的行为与应有的表现完全一样。

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

2 个答案:

答案 0 :(得分:3)

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

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

@JarWarren建议您需要更改方法以返回某些内容

答案 1 :(得分:2)

它看起来不像class.method() 返回任何东西。

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

func method():
    return  "Hello World"

如果您要拨打上述电话print,它将显示“ Hello World”,因为这就是返回的内容。

相关问题