12.类型

默认情况下,所有脚本文件都是未命名的类。在这种情况下,只能使用文件的路径引用它们,使用相对路径或绝对路径。例如,如果您将脚本文件命名为``character.gd``

# Inherit from Character.gd

extends res://path/to/character.gd

# Load character.gd and create a new node instance from it

var Character = load("res://path/to/character.gd")
var character_node = Character.new()

相反,您可以为类指定一个名称,以便在Godot的编辑器中将其注册为新类型。为此,您将使用 ‘class_name’ 关键字。

您可以向图像添加一个可选逗号和一个路径,以便将其用作图标。然后,您的类将在编辑器中显示它的新图标:

# Item.gd

extends Node

class_name Item, "res://interface/icons/item.png"

../../../_images/class_name_editor_register_example.png

下面是一个简单的示例,说明它是如何工作的:

# Saved as a file named 'character.gd'.

class_name Character

var health = 5

func print_health():
    print(health)

func print_this_script_three_times():
    print(get_script())
    print(ResourceLoader.load("res://character.gd"))
    print(Character)

注解

Godot的类语法非常紧凑:它只能包含成员变量或函数。可以使用静态函数,但不能使用静态成员变量。

同样,每次创建实例时,引擎都会初始化变量,这包括数组和字典。

这是线程安全的精神,因为脚本可以在单独的线程中初始化,而用户并不知道。

posted @ 2018-12-30 13:32  宸少凌  阅读(205)  评论(0编辑  收藏  举报

万年以来谁著史,三千里外欲封侯