0

私はiphoneとcocos2dでプラットフォーマーを作成しようとしています。私はまだBox2Dを使用することを決心していません...しかし、これをどのように解決できるかによっては、それを使用しなければならない場合があります。

私の問題はジャンプです。キャラクター(スプライト)が平らな棚に沿って走っていて、棚の端でジャンプしようとすると、キャラクターが棚から効果的に「歩いた」直後にジャンプを押すことがあります。視覚的にも物理的にも非常に奇妙に感じます。最後の瞬間に押すたびにほぼ確実だからですが、いいえ、1つのループでは遅すぎます。

誰かが同じ種類の問題に遭遇し、それを処理する賢い方法を知っていますか?

4

2 に答える 2

1

あなたの場合、プラットフォームを「離れた」後に少しジャンプできるようにするための精度を簡単に考慮することができると思います。

とにかく、box2d は、衝突を検出し、ボディの動作をシミュレートできるかなり優れた物理エンジンです (たとえば、衝突後にオブジェクトに回転を自動的に適用できます)。また、インターネットには多くのマニュアルがあり、それがどのように機能するかを理解するのに役立ちます.

于 2012-10-09T16:10:26.577 に答える
0

キャラクターの位置だけを使用して、彼がまだ棚にいるかどうかを判断していると思います。その場合、キャラクターは、中心点が棚を通過した瞬間に「足場を失う」ことになります。プラットフォーマーはそうしません。

代わりに、キャラクターのバウンディング ボックスの幅全体をテストする必要があります。バウンディング ボックスの左下または右下のコーナーがまだ歩​​行可能な平面上にある限り、キャラクターは棚から落ちることはありません。これは多くのプラットフォーマーで見られますが、キャラクターは片足だけで棚の上に立っています。

あなたが興味を持っているかもしれない2つのこと:

このガイドは、2D プラットフォーマーを実装するためのものです。あなたが知る必要があるほとんどすべてをカバーしています。コードはありませんが、アルゴリズムの指示に従うのは簡単です。

次に、cocos2d と box2d を備えた商用プラットフォーマー ゲーム キットのCommander Coolがあります。プラットフォーマー フレームワーク コードという車輪の再発明に時間を費やすよりも、開発のスピードアップに関心がある場合。

于 2012-10-09T19:01:23.290 に答える