godot class_name
时间: 2023-10-06 17:13:41 浏览: 127
godot中的`class_name`关键字用于为类注册一个新的类型,并在编辑器中显示自定义图标。使用`class_name`关键字时,可以指定可选的图标路径,以使其在编辑器中显示。
以下是一个示例:
```gd
# Item.gd extends Node
class_name Item, "res://interface/icons/item.png"
```
这个示例中,`Item.gd`文件中的类被注册为一个新的类型,并且使用`"res://interface/icons/item.png"`作为它在编辑器中的图标。
另外,godot中的类文件可以包含内部类。内部类使用`class`关键字来定义,并可以使用`ClassName.new()`函数来实例化。
以下是一个示例:
```gd
# Inside a class file.
# An inner class in this class file.
class SomeInnerClass:
var a = 5
func print_value_of_a():
print(a)
# This is the constructor of the class file's main class.
func _init():
var c = SomeInnerClass.new()
c.print_value_of_a()
```
在这个示例中,主类文件中包含了一个内部类`SomeInnerClass`,可以通过`SomeInnerClass.new()`来实例化并调用它的方法。
此外,以文件形式存储的类在godot中被视为资源。要在其他类中访问这些类资源,必须从磁盘加载它们。可以使用`load`函数或`preload`函数来加载类资源。
以下是一个示例:
```gd
# Load the class resource when calling load().
var my_class = load("myclass.gd")
# Preload the class only once at compile time.
const MyClass = preload("myclass.gd")
func _init():
var a = MyClass.new()
a.some_function()
```
在这个示例中,使用`load`函数来加载一个类资源,并使用`preload`函数在编译时预加载一个类资源。然后可以通过调用类对象上的`new`函数来实例化该类。
阅读全文