1

ねえ、私は基本的なホッケー スタイルのゲームを作ろうとしています。私はピッチ、選手、対戦相手、ボールを扱う基本的な物理学を持っています。

プレーヤーと対戦相手がゴールに入らないようにしながら、ボールをゴールに移動させる方法を理解するのに苦労しています。

基本的に対戦相手はボールを追いかけ、プレーヤーはユーザーの入力によって制御されます。したがって、必要な2つの制限があります。

ボールだけが通れるような形にしたいのですが、可能でしょうか?ボールがゴールラインを通過したら、相手を眠らせることができるかも?

私はそれを正しい方法で行っていますか?

Player1 は赤いボックス内のみ移動可能 Player2 は緑色のボックス内のみ移動可能 ボールは外側の青いボックス内を移動可能

競技場のレイアウト

4

3 に答える 3

2

Box2D を使用している場合は、おそらくSensorsを調べる必要があります。

Box2D マニュアルから取得:

ゲーム ロジックは、2 つのフィクスチャがいつオーバーラップするかを知る必要がある場合がありますが、衝突応答はありません。これは、センサーを使用して行われます。センサーは、衝突を検出するが応答を生成しないフィクスチャです。

どのフィクスチャもセンサーとしてフラグを立てることができます。センサーは静的または動的です。ボディごとに複数のフィクスチャを持つことができ、センサーとソリッド フィクスチャを自由に組み合わせることができることに注意してください。

センサーは接点を生成しません。センサーの状態を取得するには、次の 2 つの方法があります。

  1. b2Contact::IsTouching
  2. b2ContactListener::BeginContact と EndContact
于 2011-03-23T21:32:00.050 に答える
1

単純な衝突検出を使用しないのはなぜですか?

ホッケー フィールド上を移動するオブジェクトがプレーヤー タイプで、その位置/ヒットボックスがゴールと衝突する場合、位置をラインに戻して、ゴールと交差できない可能性があります。

オブジェクトのタイプがプレーヤーでない場合は、オブジェクトを通過させます

于 2011-03-23T12:07:48.230 に答える
0

ええと、プレーヤーが競技場を左または右に離れることを許可していませんか? したがって、プレイヤーのゴールエリアに対して同じロジックを実行する必要があります。

于 2011-03-23T12:08:39.833 に答える