static - Godot/GdScript 如何从静态函数实例化类?

标签 static godot gdscript

我有 2 个脚本:

A.gd

class_name A    

var v = 0    

func _init(v_):
    v = v_

B.gd

class_name B

var A = preload("res://A.gd")

static func Add(a1:A, a2:A):
    return A.new(a1.v + a2.v)

我不明白为什么在输入时出现此错误:

res://B.gd:6 - Parse Error: Can't access member variable ("A") from a static function.

显然,我无法从静态函数实例化 A 。如果我删除 static,就不会再出现错误。我究竟做错了什么?如何从静态函数实例化 A

最佳答案

Godot 中没有静态变量。因此,var A 不是静态变量。因此它不能从静态函数中获得。

另一方面,如果您使用 class_name 为您的类指定了名称(您确实这样做了),那么该类名称将存在于任何地方。删除var A

关于static - Godot/GdScript 如何从静态函数实例化类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68535372/

相关文章:

godot - 如何确定场景文件的解析出现错误的位置

lifecycle - 我在 _ready() 之后缺少生命周期初始化方法

variables - 我应该在 AfterClass (Java JUnit 4) 中取消静态变量吗?

asp.net-mvc - ASP.NET MVC 和 StructureMap 的最佳实践 DI - 如何在 ActionResult 中注入(inject)依赖项

extjs - ExtJS 实例中的静态方法列表

godot - 有没有办法在 Godot 中创建真正的自定义类型?

java - 如何用类属性初始化静态属性

noise - 柏林噪声 gdscript 错误

rotation - Gridmap Node set_cell_item() 瓦片对象的旋转

input - 运动对象未检测到任何碰撞 - Godot