2026-03-26 16:45:24 +08:00
|
|
|
# SceneManager::LoadScene
|
|
|
|
|
|
2026-03-26 19:34:24 +08:00
|
|
|
从文件加载并登记一个场景。
|
2026-03-26 16:45:24 +08:00
|
|
|
|
|
|
|
|
```cpp
|
|
|
|
|
void LoadScene(const std::string& filePath);
|
|
|
|
|
```
|
|
|
|
|
|
2026-03-26 19:34:24 +08:00
|
|
|
## 行为说明
|
2026-03-26 16:45:24 +08:00
|
|
|
|
2026-03-26 19:34:24 +08:00
|
|
|
当前实现会:
|
2026-03-26 16:45:24 +08:00
|
|
|
|
2026-03-26 19:34:24 +08:00
|
|
|
1. 构造一个默认 `Scene`。
|
|
|
|
|
2. 调用 `scene->Load(filePath)`。
|
|
|
|
|
3. 从 `filePath` 中提取“文件名去扩展名”的字符串作为 map key。
|
|
|
|
|
4. 把场景存入 `m_scenes[key]`。
|
|
|
|
|
5. 触发 [OnSceneLoaded](OnSceneLoaded.md)。
|
2026-03-26 16:45:24 +08:00
|
|
|
|
2026-03-26 19:34:24 +08:00
|
|
|
## 参数
|
2026-03-26 16:45:24 +08:00
|
|
|
|
2026-03-26 19:34:24 +08:00
|
|
|
- `filePath` - 场景文件路径。
|
2026-03-26 16:45:24 +08:00
|
|
|
|
2026-03-26 19:34:24 +08:00
|
|
|
## 返回值
|
|
|
|
|
|
|
|
|
|
- 无。
|
|
|
|
|
|
|
|
|
|
## 当前实现限制
|
|
|
|
|
|
|
|
|
|
- 当前不会在首次加载时自动设置 `m_activeScene`。
|
|
|
|
|
- 如果同 key 场景已存在,旧场景会被替换。
|
|
|
|
|
- `Scene::GetName()` 可能来自文件内部内容,而 `SceneManager` 保存的 key 来自文件名,两者可能不同。
|
2026-03-26 16:45:24 +08:00
|
|
|
|
|
|
|
|
## 相关文档
|
|
|
|
|
|
2026-03-26 19:34:24 +08:00
|
|
|
- [返回类型总览](SceneManager.md)
|
|
|
|
|
- [LoadSceneAsync](LoadSceneAsync.md)
|
|
|
|
|
- [GetScene](GetScene.md)
|