1.4 KiB
1.4 KiB
ResourceFileSystem::FindResource
方法签名
bool FindResource(const Containers::String& relativePath, Containers::String& outAbsolutePath) const;
所属类
XCEngine::Resources::ResourceFileSystem
描述
查找指定相对路径的资源,并返回其绝对路径。搜索顺序为:目录(根路径 + 已注册目录)→ 档案。
此方法线程安全。
参数
| 参数名 | 类型 | 描述 |
|---|---|---|
relativePath |
const Containers::String& |
资源的相对路径 |
outAbsolutePath |
Containers::String& |
输出参数,接收资源的绝对路径 |
返回值
bool- 找到资源返回true,未找到返回false
示例
#include "Resources/ResourceFileSystem.h"
using namespace XCEngine::Resources;
ResourceFileSystem& fs = ResourceFileSystem::Get();
fs.Initialize("C:/Game/Resources");
fs.AddDirectory("C:/Game/Assets");
Containers::String absolutePath;
// 查找纹理资源
if (fs.FindResource("textures/player/diffuse.png", absolutePath)) {
printf("Found at: %s\n", absolutePath.CStr());
// 使用绝对路径加载纹理
} else {
printf("Resource not found\n");
}
// 查找着色器资源
if (fs.FindResource("shaders/forward.glsl", absolutePath)) {
printf("Shader at: %s\n", absolutePath.CStr());
}
注意事项
- 搜索路径格式应使用正斜杠
/ - 档案内资源返回的绝对路径格式为
archive://relative/path