box2dを使用して鳥が飛ぶようにする方法


7

私はBox2Dを初めて使用し、重力を10に設定しました。重力が10の場合でも、オブジェクトを空間で飛行させる方法を教えてください。オブジェクトを飛行させるために設定する必要があるプロパティは何ですか?別のアプローチはありますか?


3
パチンコを使用してください:lapitapi.com/...
Petteri Hietavirta

回答:


4

基本的に、特定のオブジェクトに重力を無視させたいようですが、それは正しいですか?重力はワールドオブジェクトのプロパティであるため、これを行う方法は次のいずれかです。

  1. 重力を完全に無効にしてから、必要なすべてのオブジェクトに手動で重力を適用します(重力の影響を受けたくないオブジェクトは無視します)。
  2. 重力の影響を受けないように見せたいオブジェクトに、フレームごとに重力に対抗する力を適用します。

「空飛ぶ」オブジェクトが力にまったく応答する必要がない場合は、のb2_kinematicBody代わりにを使用することもできb2_dynamicBodyます。これは、ニーズに適している場合と適切でない場合があります。


重力を無視したくない...力を加えて試してみる...
Chandan Shetty SP

1
重力を完全に無視したくない場合は、「フライ」の意味を具体的に教えてください。重力による減少効果がありますか?

うん、それはうまくいった(鳥に力を加えることによって)...画面で鳥がランダムに動くようにする方法。ランダムかつ継続的に力を加える必要がありますか?
Shetty SP

おそらく、鳥の飛行パターンをいくつかの状態にして、飛行パターンの異なるモードをランダムに切り替える必要があります。完全にランダムな力と方向を使用しないでください。使用すると、鳥のように見えなくなります。
AttackingHobo 2011年

少し説明してもらえますか?記述された飛行パターンで鳥を移動させる方法...
Chandan Shetty SP 2011

1

一般的に、最良の方法は、オブジェクトを動的にし、すべてのフレームで左または右に力を加えることです。つまり、鳥に力を加える理由は、重量と重力を考慮して経路を決定し、力を計算できるということです。それが最善の方法であり、最も現実的な方法だと思います。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.