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 - 解析错误:无法从静态函数访问成员变量 ("A")。
显然,我无法A
从静态函数实例化。如果我删除static
,则不再有错误。我究竟做错了什么?如何A
从静态函数实例化?
解决方案
Godot 中没有静态变量。因此,这var A
不是一个静态变量。因此它不能从静态函数中获得。
另一方面,如果你给你的班级一个名字class_name
——你这样做了——那么这个班级的名字无处不在。删除var A
.
推荐阅读
- jpa - Eclipse Link 2.7.4 保持双向一对多关联失败
- php - 在 codeigniter 中没有选择数据库
- python - Jinja2 If 忽略布尔值
- html - 无法在 Outlook 中看到背景图像
- recursion - Verilog中可以递归实例化吗?
- java - 使用 2 个端口与 spring boot 和 spring 集成
- reactjs - 为什么我们不使用 let 而不是 States?
- c++ - 在一个 QtCreator 版本中使用 cmake 构建失败,而它与另一个版本以及来自终端的 catkin_make 一起使用
- getstream-io - Getstream - 按自定义字段过滤活动
- django - `basename` 参数未指定,并且可以'\