我目前正在将 LibGDX 用于 Android 项目,但我认为无论您使用什么框架/库或语言,这个问题的答案都会很有用。
我在 Internet 上找到的所有教程(针对 LibGDX)都会在render()
调用整个应用程序的方法时以及在绘制每个实体之前进行计算,就像移动实体一样。我认为这可能是必要的,因为例如,如果您有一个对象在render()
调用方法时应该以 3m/s 的速度移动,您将执行类似position.y = velocity.y * deltaTime
的操作,以便根据对象的速度进行移动。
但是像 -> AI 控制的对象应该遵循什么路径才能不撞墙或根据玩家的动作进行计算呢?在 2D 中,甚至在 3D 中,可能会有很多计算、算术运算等......结果与 t 无关,deltaTime
也不需要知道它。此外,这可能会减慢渲染速度,因此在某些功能不是很强大的手机或平板电脑上运行应用程序时。
那么这种类型的计算应该在渲染时进行还是仅在另一个线程需要时进行?