如何在 godot 脚本的方法中 return class 的实例
How to return instance of class in its method in godot script
我有 class v2
,其中包含一个方法 Add
。此方法应该 return v2
的新实例
我的代码是这样的
class_name v2
var x : float
var y : float
func _init(_x, _y):
x = _x
y = _y
func Add(v : v2):
return v2.new(x + v.x, y + v.y) # error line
但是当我尝试从另一个 class 访问 class v2
时,它向我显示错误
class_name foo
var position = v2.new(0, 0)
# Parse Error: The class "v2" couldn't be fully loaded (script error or cyclic dependency)
Godot 不允许在 class 文件中使用自己的名称(创建循环引用)。您可以使用此解决方案解决问题:
class_name v2
var x : float
var y : float
func _init(_x, _y):
x = _x
y = _y
func Add(v):
return get_script().new(x + v.x, y + v.y) # no error
我有 class v2
,其中包含一个方法 Add
。此方法应该 return v2
我的代码是这样的
class_name v2
var x : float
var y : float
func _init(_x, _y):
x = _x
y = _y
func Add(v : v2):
return v2.new(x + v.x, y + v.y) # error line
但是当我尝试从另一个 class 访问 class v2
时,它向我显示错误
class_name foo
var position = v2.new(0, 0)
# Parse Error: The class "v2" couldn't be fully loaded (script error or cyclic dependency)
Godot 不允许在 class 文件中使用自己的名称(创建循环引用)。您可以使用此解决方案解决问题:
class_name v2
var x : float
var y : float
func _init(_x, _y):
x = _x
y = _y
func Add(v):
return get_script().new(x + v.x, y + v.y) # no error