c# - 使用 Unity,什么可能导致代码无法在 FixedUpdate() 中执行,而在 Update() 中却执行?
问题描述
我正在制作一个以每秒设定的速率递增的计数器。使用第一个代码片段,它按预期工作,但是当我将 Update 函数更改为 FixedUpdate 函数时,就像在第二个代码片段中一样, nanoidsValue.text 没有得到更新,也没有引发错误。
public class Nanoids : MonoBehaviour
{
[SerializeField]
public TMP_Text nanoidsValue;
public double currentNanoids;
// Update is called once per frame
void Update()
{
currentNanoids += 1;
nanoidsValue.text = currentNanoids.ToString();
}
}
public class Nanoids : MonoBehaviour
{
[SerializeField]
public TMP_Text nanoidsValue;
public double currentNanoids;
// Update is called once per frame
void FixedUpdate()
{
currentNanoids += 1;
nanoidsValue.text = currentNanoids.ToString();
}
}
根据我读过的内容,Update 和 FixedUpdate 应该只在执行速度上有所不同。为什么在使用 FixedUpdate 时更改不会保存到 nanoidsValue.text?
PS我尝试在Update和FixedUpdate之间来回多次,没有改变任何其他东西,结果总是这样。
解决方案
推荐阅读
- rust - 将变量传递给函数和生命周期
- python - AWS Redshift - Lambda 中的 get_cluster_credentials
- c++ - ESP-CoAP 服务器调用资源处理程序而不接收包
- android - 获取 android 10 的 IMEI 号码
- jquery - 如何动态定义 jQuery 选择器?
- discord.js - 无法在数组中找到明确状态的对象
- angular - 自动在自动对焦模式下制作 Power BI 报表
- react-native - 如何使用反应原生路由器通量在右键上添加图标
- r - R - lrm(逻辑回归 - rms 包) - 绘制季度预测值和实现值
- javascript - 如何使用购买历史查询 mongodb 以构建汇集的项目