34 lines
808 B
Markdown
34 lines
808 B
Markdown
# SceneRuntime::FixedUpdate
|
|
|
|
**命名空间**: `XCEngine::Components`
|
|
|
|
**类型**: `method`
|
|
|
|
**头文件**: `XCEngine/Scene/SceneRuntime.h`
|
|
|
|
## 签名
|
|
|
|
```cpp
|
|
void FixedUpdate(float fixedDeltaTime);
|
|
```
|
|
|
|
## 作用
|
|
|
|
驱动固定步长更新阶段。
|
|
|
|
## 当前实现行为
|
|
|
|
- 只有在 `m_running == true`、`m_scene != nullptr` 且 `m_scene->IsActive()` 时才继续执行。
|
|
- 执行顺序固定为:
|
|
1. `ScriptEngine::Get().OnFixedUpdate(fixedDeltaTime)`
|
|
2. `m_scene->FixedUpdate(fixedDeltaTime)`
|
|
|
|
## 设计重点
|
|
|
|
脚本先于原生组件运行,这样脚本在固定步长阶段做出的状态修改能被同一帧的原生组件观察到。测试 `tests/Scene/test_scene_runtime.cpp` 已验证这个顺序。
|
|
|
|
## 相关文档
|
|
|
|
- [SceneRuntime](SceneRuntime.md)
|
|
- [SceneRuntime::Update](Update.md)
|