问题描述
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”外,它的行为与应有的表现完全一样。
有人知道如何解决此问题吗?
解决方法
print(class.method())
等效于:
var result_of_method = class.method() # `class.method()` will return Null
print(result_of_method) # will print "Null"
@JarWarren建议您需要更改方法以返回某些内容
,它看起来不像class.method()
返回任何东西。
当前,您正在要求GDScript打印class.method()
的结果。它将运行该方法,但是如果没有返回任何结果,则它默认为Null
。
func method():
return "Hello World"
如果您要拨打上述电话print
,它将显示“ Hello World”,因为这就是返回的内容。