枚举和静态类型

时间:2019-12-07 23:28:39

标签: gdscript

我已经在某些gdscript代码中声明了一个枚举。

然后,我想声明一些变量属于该枚举类型。

这可能吗?我知道GDScript允许声明var的静态类型。我使用的所有语言都允许您将枚举视为var。

以下代码为我产生以下错误...

enum XDir {
    None,
    Left,
    Right
}

enum YDir {
    None,
    Up,
    Down
}

var x_dir : XDir
var y_dir : YDir
  

解析器错误:标识符“ XDir”不是有效类型(不是脚本或   类),或者找不到基于“自身”的对象。

1 个答案:

答案 0 :(得分:1)

这还不可能。 GDScript中的枚举是常量字典的语法糖,而不是实际类型。

在枚举变成实数类型之前,您必须使用str = Replace(str, ", }]", "}]")作为类型。

请注意,您仍然可以像{p>

int

要在运行时强制执行枚举值,您可以执行以下操作:

export