# 【GDScript基础】

# 命名规范

# 文件

脚本 aa_bb_cc.gd 场景 aa_bb_cc.tscn

# 常量

命名采样 "XXXX_XXXX" 的方式。

const PI = 3.1415926

# 变量与函数

公开权限的变量与函数 "xxxx_xxx_xxx"。

私有权限的变量与函数 "_xxxx_xxx_xxx"。

# 公开变量与函数
var a = 5
func f_a():
pass

# 私有变量与函数
var _b = 5
func _f_b():
pass

# 类和枚举

类和枚举使用 ClassName 这种驼峰命名法。

# 定义枚举
enum Named {THING_1, THING_2, ANOTHER_THING = -1}

# 设置本脚本文件的类名
class_name MyClass

# 设置该类继承于哪个类
extends BaseClass

# 定义和使用类

class MyObject extends BaseClass:
    # 定义构造函数
    func _init(name, age):
        # 调用父类的构造函数
        super._init()
        # 对象属性的初始化
        self.name = name
        self.age = age

var obj = MyObject.new("Tom", 25)

# 属性的getset

方式A

# 这个setget语法适用于GD4.x
var a = 1:
    set = set_a,get = get_a

func set_a(val):
    a = val

func get_a():
    return a

方式B(推荐)

# 这个setget语法适用于GD4.x
var a = 1:
    set(val):
        a = val
    get:
        return a