1

ユーザーがキャラクターを (指で) コントロールするゲームがあり、ユーザーがプレイ中に自分の動きを記録して再生できるように機能を追加したいと考えています。問題は、ゲームに物理が含まれていることで、まったく同じ動きを再現するのは非常に難しいと思います。すべてのユーザー アクションを完全に再生するようなシステムを実装するにはどうすればよいですか? すべてのタッチを記録してから、すべてのタッチを再生する必要がありますか? これについての経験はありますか?物理演算には Box2D を使用しています。

4

1 に答える 1

2

「キーストロークとフレーム番号を保存することでリプレイを記録します」 - box2d.org/forum/viewtopic.php?f=3&t=1982&view=next それが唯一の方法のようです。これらを PLIST などに書き込むと、リプレイができます。また、物理学がまだ決定論的でない場合 (つまり、ランダム)、ランダムな値も削除してください)

コメントから:

「すべてのオブジェクトのすべての位置と回転状態をフレームごとに (または場合によってはすべて) 記録し、再生したい場合は、物理エンジンを完全にスキップして、記録された位置/回転からフレームごとにオブジェクトを再配置するだけです。州。

必要なのは、再生用のフレームが、物理演算が実行されていたときと同じ持続時間であることを確認することだけです。」

于 2012-06-20T17:27:27.317 に答える