gpt4 book ai didi

cocos2d-iphone - 如何在 box2d 中实现更好的时间步长(固定或半固定)?

转载 作者:行者123 更新时间:2023-12-01 09:37:17 25 4
gpt4 key购买 nike

我想知道是否有人可以帮助我理解在 box2d 中修复我的时间步长。我正在尝试改进我刚刚发布的游戏Bounce Z Ballz ,通过实现更好的时间步长(我目前使用内置的可变时间步长)。我一直在阅读一些有用的信息,但我无法真正理解将类似于内置 cocos2d/box2d 模板的东西变成 Glenn Fiedler's 之类的东西。解决方案。

TL;DR(我想将我的 cocos2d/box2d 游戏时间步从内置的可变时间步更改为更一致的)

谢谢,

史蒂夫

最佳答案

为了实现这一点,您需要知道物理引擎在仍能充分执行的情况下可以步进的最大时间步长。为了论证的缘故,假设它是 0.03 秒。

本质上,在您的更新循环期间,您不仅要将增量时间传递给步长时间,还需要将其分成最大大小的段。因此,如果当前循环周期的增量时间为 0.08 秒,那么您将需要运行更新循环 3 次,时间步长为 0.03 秒、0.03 秒、0.02 秒。物理系统仍然前进了 0.08 秒,但它会以足够小的步长完成,以便正确执行。

Update:(float)deltaTime  
{
float maximumStep = 0.03;
float progress = 0.0;
while (progress < deltaTime)
{
float step = min((deltaTime-progress), maxStep);
**PHYSICS STEP(step)**
progress += step;
}
}

关于cocos2d-iphone - 如何在 box2d 中实现更好的时间步长(固定或半固定)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5466432/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com