2012-06-20 57 views
1

我有一个游戏,用户使用他的手指控制一个角色,我想添加功能,以便用户在播放时可以记录他的移动,然后播放它。问题在于游戏包含物理学,我想这很难复制完全相同的动作。我怎样才能实现这样一个系统,将完美重播所有的用户操作?我是否必须记录每一次触摸然后回放所有触摸?有人对这个有经验么?我使用Box2D进行物理学。iOS如何记录移动并将它们播放

+0

没有这样做的经验,但保存触摸事件似乎很可能。 –

+0

“我们通过存储击键和帧数来录制回放” - http://www.box2d.org/forum/viewtopic.php?f=3&t=1982&view=next似乎它是唯一的方法。将这些写入PLIST或其他内容,然后您就可以进行重放。此外,如果你的物理学不是已经确定的(即随机),那么也只需要取下随机值) – prince

+0

@JamesPrince谢谢你指出我正确的方向。在最后一页评论中有一个简单的解决方案。这个想法是为每个帧存储位置/旋转,然后仅在没有物理部分的情况下重放它们。如果你会发布一个答案,我会接受它。 – blejzz

回答

2

“我们通过存储击键和帧数来录制回放” - box2d.org/forum/viewtopic.php?f=3 & t = 1982 & view = next似乎它是唯一的方法。将这些写入PLIST或其他内容,然后您就可以进行重放。另外,如果你的物理尚未确定(即随机),那么就取下来过的随机值)

从评论:

“只是记录所有的位置和旋转状态的所有对象的每(或其他可能的),那么当你想回放的时候,只需简单地跳过物理引擎,然后从你记录的位置/旋转状态的每一帧重新定位你的对象。

所有你需要做的是确保回放的帧与物理运行时的持续时间相同。“

相关问题