类描述 ta 字段的集合,例如变量,并定义操作,例如方法。
将类视为创建对象的蓝图,具有初始值状态和实现行为。
在 GDScript 中,默认情况下,所有脚本类都是未命名的类。
这意味着您只能通过其相对路径引用一个类。

绝对路径

  1. # Absolute Path on Windows
  2. "C:\Data\Filepath"

相对路径

  1. # Relative Path through GDScript
  2. "res://path/to/file.gd"

基本类格式

在类文件中使用extends关键字让 Godot 知道您的脚本文件继承自哪个全局 Godot 类。
关键字决定了extends哪些节点函数可供您使用。
您可以在 Godot 基础系列中了解有关 Godot 全局类的更多信息。
类也可以有类/成员变量和函数。
类/成员变量在整个类文件中可用。

  1. # Example.gd
  2. extends Node2D
  3. var playerHealth: int = 100
  4. var playerSpeed: float = 5.0
  5. func getPlayerHealth() -> int:
  6. return playerHealth

如果省略extends keyword,您的类将继承自Reference全局类:

  1. # Example.gd
  2. # Extends from Global Reference Class
  3. var playerHealth: int = 100
  4. var playerSpeed: float = 5.0
  5. func getPlayerHealth() -> int:
  6. return playerHealth

命名一个类

使用class_name关键字命名一个类并将其添加到全局范围。
新创建的类将在 Godot 中的其他 .gd 文件和场景中可用。

  1. #Player.gd
  2. extends Node2D
  3. class_name Player
  4. # class variables and functions
  1. #Scene.gd
  2. extends Node2D
  3. var playerInstanceObject = Player.new()

类继承

GDScript 类可以继承自以下内容:

  • 全球班
  • 另一个班级
  • 内部类

    内部类

    内部类是类中的类。 ```swift extends Node

class instance object

var object = InnerClass.new()

func _ready(): var getInnerValue = object.getA() print(getInnerValue)

class InnerClass:

member variables

var another = 100

func getAnother(): return another ```

虚方法

虚拟方法是可以在派生类中重新定义的方法。
当方法的基本功能相同时使用它,但有时派生类需要更多功能。