当我正在制作侧视自行车特技游戏,其中我试图在自行车表演特技时添加慢动作效果。 在Box2D中是否有任何解决方案可以显示这种慢动作效果。在这方面有人可以帮助我
谢谢和问候,
Chandrasekhar的
答案 0 :(得分:0)
使用或不使用Box2D来实现此效果的简单方法是升级时间修饰符。
所以我们假设您将播放器移动到这样的运行函数中:
player.x += vel_x;
player.y += vel_y;
您可以设置一个初始化为1
的时间修饰符变量var time_mod:Number = 1;
然后更新所有动作
player.x += vel_x * time_mod;
player.y += vel_y * time_mod;
然后当你想要“慢动作效果”改变你的time_mod变量。实时的一半将time_mod更改为0.5。如果你想超级速度改为2或3,超慢?改为0.3
你明白了吗?
答案 1 :(得分:0)
如前所述,改变时间步长可以产生慢动作效果。它还具有改变重力影响身体的方式的副作用,并且可以使其他事情复杂化,例如在多人游戏中记录重播或同步状态。
另一种选择是对每个时间步使用固定的时间步长,并跟踪所有物体的先前位置和角度。然后,您可以在最后一帧和当前帧之间进行插值,以在中间帧位置绘制它们。这意味着你总是在物理引擎的当前位置上稍微落后一点,但是在30-60fps的典型帧率下它不应该是明显的。