Files
XCEngine/docs/api/XCEngine/Scripting/ScriptEngine/OnUpdate.md

30 lines
786 B
Markdown

# ScriptEngine::OnUpdate
**命名空间**: `XCEngine::Scripting`
**类型**: `method`
**头文件**: `XCEngine/Scripting/ScriptEngine.h`
## 签名
```cpp
void OnUpdate(float deltaTime);
```
## 当前实现行为
`OnFixedUpdate()` 类似,但多了一步关键逻辑:
- 如果 `state.startPending && !state.startCalled`,先调用一次 `Start`
- 随后再调用 `Update(deltaTime)`
## 为什么 `Start` 在这里触发
当前实现选择把 `Start` 定义成“第一次正常逐帧更新前的初始化阶段”,而不是运行时刚启动就立刻调用。这和很多商业引擎的语义更接近,也更利于保证对象与脚本都已经进入稳定运行态。
## 相关文档
- [OnRuntimeStart](OnRuntimeStart.md)
- [OnLateUpdate](OnLateUpdate.md)