资源

Inherits: Reference < Object

继承人: AnimationAnimationNodeAnimationNodeStateMachinePlaybackAnimationNodeStateMachineTransitionAudioBusLayoutAudioEffectAudioStreamBakedLightmapDataBitMapButtonGroupCubeMapCurveCurve2DCurve3DDynamicFontDataEditorSettingsEditorSpatialGizmoPluginEnvironmentFontGDNativeLibraryGIProbeDataGradientImageInputEventMaterialMeshMeshLibraryMultiMeshNavigationMeshNavigationPolygonOccluderPolygon2DOpenSimplexNoisePackedDataContainerPackedScenePhysicsMaterialPolygonPathFinderScriptShaderShapeShape2DShortCutSkySpriteFramesStyleBoxTextFileTextureTextureLayeredThemeTileSetTranslationVideoStreamVisualScriptNodeVisualShaderNodeWorldWorld2D

类别: 核心

简要说明

所有资源的基类。

方法

无效

_setup_local_to_scene ( ) virtual

Resource

duplicate ( bool subresources=false ) const

Node

get_local_scene ( ) const

RID

get_rid ( ) const

无效

setup_local_to_scene ( )

无效

take_over_path ( String path )

信号

  • changed ( )

每当资源更改时发出。

描述

资源是所有特定于godot的资源类型的基类,主要用作数据容器。它们在不再使用时被计数和释放。一旦从磁盘加载,它们也会被缓存,这样任何进一步从给定路径加载资源的尝试都将返回相同的引用(与 Node ,这不是引用计数,可以根据需要从磁盘多次实例化)。资源可以保存在磁盘外部,也可以捆绑到另一个对象中,例如 Node 或其他资源。

教程

属性描述

  • bool resource_local_to_scene

违约

设定器

将“本地”设置为“场景”(值)

吸气剂

是本地的场景

如果 true 将使资源在其本地场景的每个实例中都是唯一的。因此,可以在场景实例中修改它,而不会影响同一场景的其他实例。

违约

设定器

设置名称(值)

吸气剂

获取名称()

资源的名称。这是一个可选的标识符。

违约

设定器

设置路径(值)

吸气剂

获取路径()

资源的路径。如果它有自己的文件,它将返回它的文件路径。如果它绑定到场景,它将返回场景的路径,然后返回资源的索引。

方法说明

  • void _setup_local_to_scene ( ) virtual

可以重写以自定义的行为值的虚拟函数 setup_local_to_scene .

复制资源,返回新资源。默认情况下,子资源在资源副本之间共享以提高效率,这可以通过传递来更改 truesubresources 争论。

  • Node get_local_scene ( ) const

如果 resource_local_to_scene 已启用,并且资源是从 PackedScene 实例化,返回使用此资源唯一副本的本地场景。否则,返回 null .

  • RID get_rid ( ) const

返回资源的RID(或空的RID)。许多资源(例如 TextureMesh 等等)是存储在服务器中的资源的高级抽象,因此此函数将返回原始RID。

  • void setup_local_to_scene ( )

当资源具有 resource_local_to_scene 已启用从加载 PackedScene 实例化。它的行为可以通过重写来定制 _setup_local_to_scene 从脚本。

对于大多数资源,此方法不执行基本逻辑。 ViewportTexture 执行自定义逻辑以在本地视区中正确设置代理纹理和标志。

  • void take_over_path ( String path )

设置资源的路径,可能会覆盖此路径的现有缓存项。这与设置不同 resource_path ,因为如果已经为给定路径缓存了另一个资源,则后者将出错。