📜  Godot文件系统(1)

📅  最后修改于: 2023-12-03 15:15:21.876000             🧑  作者: Mango

Godot文件系统

Godot是一款流行的游戏引擎,具有内置的文件系统,方便程序员管理游戏中的各种资源文件。在Godot中,文件被称为“资源”,包括场景、脚本、材质、纹理、声音等等。Godot文件系统允许您创建、更改和删除这些资源。

目录结构

Godot文件系统基于目录结构,类似于许多其他游戏引擎。在Godot中,资源通常存储在以下目录中:

  • res://:该目录包含项目的根目录。它是您将项目文件放置在的位置。可以在该目录下建立子目录以组织项目文件。
  • res://scenes:该目录包含场景文件。场景文件包括节点,节点是游戏对象的构建块。
  • res://scripts:该目录包含 Godot 脚本文件。Godot脚本是使用GDScript编写的。
  • res://textures:该目录包含纹理文件。纹理可用于为游戏对象分配图像。
  • res://audio:该目录包含音频文件。音频可用于为游戏对象分配声音。
  • res://fonts:该目录包含字体文件。字体可用于显示文本。

除此之外还有其他目录,例如res://tilesets(用于存储图块集)、res://particles(用于存储粒子效果)等等。

使用文件系统
打开文件

可以使用load()函数从Godot文件系统中加载资源文件。例如,要加载一个场景文件:

var scene = load("res://scenes/my_scene.tscn")

可以使用load()函数加载其他类型的资源:

var texture = load("res://textures/my_texture.png")
var sound = load("res://audio/my_sound.wav")
var font = load("res://fonts/my_font.tff")
保存文件

要在代码中创建新资源,可以使用ResourceSaver类将其保存到Godot文件系统中。例如,要保存一个新场景:

var new_scene = Resource.new() # Create a new empty resource.
var root_node = Node2D.new() # Create a new empty node.
new_scene.add_child(root_node) # Add the node to the scene.
ResourceSaver.save("res://scenes/new_scene.tscn", new_scene) # Save the scene.

同样可以使用ResourceSaver类保存其他类型的资源:

var new_texture = ImageTexture.new() # Create a new empty texture.
ResourceSaver.save("res://textures/new_texture.png", new_texture) # Save the texture.
删除文件

要从Godot文件系统中删除资源文件,可以使用ResourceLoader类和文件路径。例如,要删除一个场景文件:

ResourceLoader.delete("res://scenes/my_scene.tscn")

同样可以使用ResourceLoader类删除其他类型的资源:

ResourceLoader.delete("res://textures/my_texture.png")
总结

Godot文件系统提供了一种方便的方法来管理您的项目文件。使用Godot文件系统,您可以轻松加载、保存和删除项目中的各种资源。当您开始Godot项目时,请记住神秘的res://前缀,这是访问物理文件系统中项目文件的入口点!