12

2Dプラットフォーム/横スクロールゲームの重力、ジャンプアクションなどをプログラミングするための2Dゲーム物理学などのライブラリを教えてもらえますか? または、マリオやソニックなどのサイド スクローラーのアルゴリズムをいくつか提案していただけますか?

4

11 に答える 11

22

シマリスがあなたのニーズを満たすかもしれないように思えます。

于 2008-09-19T01:31:31.260 に答える
12

あなたの最善の策はおそらくBox2Dです。2D物理を実行し、多数のオプションがあり、既存のプロジェクトに非常に簡単に統合できます。固定ボディのデフォルトではCCDを実行しますが、任意の剛体を選択的にCCD計算に含めることができます。

于 2008-09-19T01:35:38.020 に答える
9

重力だけが必要な場合は、5分で自分でプログラムできます。自由落下するオブジェクトは、毎秒9.8メートルで加速します。つまり、オブジェクトの下向きの速度は、毎秒9.8メートルの自由落下で増加します。ゲームの場合、その9.8をフレームレートで割る必要があります。ジャンプするには、かなりの負の垂直速度を選択し、ジャンプした瞬間にキャラクターに適用し、フレームごとの重力の増分でデクリメントします。2Dサイドスクローラーの3D背景を探しているのでない限り、マリオのようなものに必要なのはこれだけです。

もっと凝ったものにしたい場合は、物体の衝撃力を考慮に入れて、落下する物体が人を傷つけたり、舗装などにひびを入れたりするようにすることができます。これには、運動エネルギーの式を使用します。KE = 1/2 * M * V ^ 2、ここでMは質量、Vは速度です。

于 2008-09-19T01:39:03.563 に答える
5

どのプラットフォームをお探しですか?どのライブラリを使用するかは、これによって異なります。

XNAフレームワークの場合、Farseerは非常に優れています。

于 2008-09-19T01:29:17.597 に答える
4

質問の 2 番目の部分に答えるには、単純な 2D プラットフォーマーがどのように機能するかを理解したい場合は、N のチュートリアルを読んでください。はい、N はフラッシュ ベースのゲームですが、「実際の」ゲームのように構築されていないという意味ではありません。そのため、衝突検出 (および応答) のチュートリアルは非常に当てはまります。これらは、幾何学的な概念を示すためにいくつかの直感的なデモがページに埋め込まれているため、簡単に読むことができます。

于 2008-09-21T19:02:18.680 に答える
2

Havokエンジンを見ることができます。彼らは非営利目的で無料版をリリースしたと思います。物理を2つの平面(この場合はxとy)に拘束できるようにする拘束キットがあります。

于 2008-09-19T01:32:13.673 に答える
2

ほとんどの2D横スクロールプラットフォームゲームの物理特性は非常に単純なので、自分で簡単に実装できます。どんな効果をお探しですか?

于 2008-09-19T01:33:40.880 に答える
2

時間があれば、PhysXを使用できますが、2Dでは過剰に殺される可能性があります。それに加えて、ゲームをPCで動作させることを計画していて、いくつかのクールな物理学が必要な場合は、「ベレの統合」をグーグルで試してみてください。

于 2008-09-19T01:35:11.267 に答える
2

私は個人的なプロジェクトでBox2Dを使用しました。これは、2D物理シミュレーションAPIです。ただし、必要なのがゲーム/グラフィックAPIである場合は、やり過ぎかもしれません。

于 2008-09-19T01:35:25.867 に答える
2

この男はJavascriptゲームで多くの仕事をしました:

http://blog.nihilogic.dk/

于 2008-09-19T02:29:32.243 に答える
2

opendeでも2d 物理演算を行うことができます

于 2008-09-21T18:55:03.720 に答える