本文参考的手册是3.1以前的版本。3.1在类的机制上有很多更新
下文翻译自Godot官网手册
# 在GDScript中一个*.gd文件就是一个类
# 继承方式
extends BaseClass
# 成员变量
var a = 5
var s = "Hello"
var arr = [1, 2, 3]
var dict = {"key": "value", 2:3}
# 常量
const ANSWER = 42
const THE_NAME = "Charly"
# 枚举类型
enum {UNIT_NEUTRAL, UNIT_ENEMY, UNIT_ALLY}
enum Named {THING_1, THING_2, ANOTHER_THING = -1}
# 内置向量;类型
var v2 = Vector2(1, 2)
var v3 = Vector3(1, 2, 3)
# 函数
func some_function(param1, param2):
var local_var = 5
if param1 < local_var:
print(param1)
elif param2 > 5:
print(param2)
else:
print("Fail!")
for i in range(20):
print(i)
while param2 != 0:
param2 -= 1
var local_var2 = param1 + 3
return local_var2
#基类中同名函数的重载.
#使用 '.'调用基类中的被重载函数 (如同其他语言中使用 'super' 关键字).
func something(p1, p2):
.something(p1, p2)
# 内部类
class Something:
var a = 10
# 构造函数
func _init():
print("Constructed!")
var lv = Something.new()
print(lv.a)