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 某些东西
我制作了一个 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 某些东西