资源¶
继承人: Animation , AnimationNode , AnimationNodeStateMachinePlayback , AnimationNodeStateMachineTransition , AudioBusLayout , AudioEffect , AudioStream , BakedLightmapData , BitMap , ButtonGroup , CubeMap , Curve , Curve2D , Curve3D , DynamicFontData , EditorSettings , EditorSpatialGizmoPlugin , Environment , Font , GDNativeLibrary , GIProbeData , Gradient , Image , InputEvent , Material , Mesh , MeshLibrary , MultiMesh , NavigationMesh , NavigationPolygon , OccluderPolygon2D , OpenSimplexNoise , PackedDataContainer , PackedScene , PhysicsMaterial , PolygonPathFinder , Script , Shader , Shape , Shape2D , ShortCut , Sky , SpriteFrames , StyleBox , TextFile , Texture , TextureLayered , Theme , TileSet , Translation , VideoStream , VisualScriptNode , VisualShaderNode , World , World2D
类别: 核心
简要说明¶
所有资源的基类。
方法¶
无效 |
_setup_local_to_scene ( ) virtual |
get_local_scene ( ) const |
|
get_rid ( ) const |
|
无效 |
|
无效 |
take_over_path ( String path ) |
描述¶
资源是所有特定于godot的资源类型的基类,主要用作数据容器。它们在不再使用时被计数和释放。一旦从磁盘加载,它们也会被缓存,这样任何进一步从给定路径加载资源的尝试都将返回相同的引用(与 Node ,这不是引用计数,可以根据需要从磁盘多次实例化)。资源可以保存在磁盘外部,也可以捆绑到另一个对象中,例如 Node 或其他资源。
属性描述¶
bool resource_local_to_scene
违约 |
假 |
设定器 |
将“本地”设置为“场景”(值) |
吸气剂 |
是本地的场景 |
如果 true
将使资源在其本地场景的每个实例中都是唯一的。因此,可以在场景实例中修改它,而不会影响同一场景的其他实例。
String resource_name
违约 |
“ |
设定器 |
设置名称(值) |
吸气剂 |
获取名称() |
资源的名称。这是一个可选的标识符。
String resource_path
违约 |
“ |
设定器 |
设置路径(值) |
吸气剂 |
获取路径() |
资源的路径。如果它有自己的文件,它将返回它的文件路径。如果它绑定到场景,它将返回场景的路径,然后返回资源的索引。
方法说明¶
void _setup_local_to_scene ( ) virtual
可以重写以自定义的行为值的虚拟函数 setup_local_to_scene .
复制资源,返回新资源。默认情况下,子资源在资源副本之间共享以提高效率,这可以通过传递来更改 true
到 subresources
争论。
Node get_local_scene ( ) const
如果 resource_local_to_scene 已启用,并且资源是从 PackedScene 实例化,返回使用此资源唯一副本的本地场景。否则,返回 null
.
RID get_rid ( ) const
返回资源的RID(或空的RID)。许多资源(例如 Texture , Mesh 等等)是存储在服务器中的资源的高级抽象,因此此函数将返回原始RID。
void setup_local_to_scene ( )
当资源具有 resource_local_to_scene 已启用从加载 PackedScene 实例化。它的行为可以通过重写来定制 _setup_local_to_scene 从脚本。
对于大多数资源,此方法不执行基本逻辑。 ViewportTexture 执行自定义逻辑以在本地视区中正确设置代理纹理和标志。
void take_over_path ( String path )
设置资源的路径,可能会覆盖此路径的现有缓存项。这与设置不同 resource_path ,因为如果已经为给定路径缓存了另一个资源,则后者将出错。