我有一个游戏,用户控制一个角色(用他的手指),我想添加功能,以便用户可以在播放时记录他的动作,然后播放。问题是游戏包括物理,我想要复制完全相同的动作是非常困难的。我如何实现这样一个完美重播所有用户操作的系统?我是否必须记录每一次触摸然后回放所有触摸?有人对这个有经验么?我正在使用Box2D进行物理学。
答案 0 :(得分:2)
“我们通过存储击键和帧号记录重放” - box2d.org/forum/viewtopic.php?f=3&t=1982&view=next似乎这是唯一的方法。把这些写到PLIST或其他东西,你会有你的重播。此外,如果您的物理不是确定性的(即随机),那么也只需删除随机值
来自评论:
“只记录每帧(或其他所有对象)的所有对象的所有位置和旋转状态,然后,当你想要回放东西时,只需完全跳过物理引擎,只需从录制的每一帧重新定位对象位置/旋转状态。
您需要做的就是确保播放的帧数与物理运行时的帧数相同。“