2

私はこれに慣れていませんが、C ++で簡単な2Dゲームを作ろうとしています。ある種の迷路タイプのゲームを行うことにしました。そのためにやっていることは、迷路をテクスチャとして描画し、この迷路内でキャラクターが動き回るときに別のテクスチャを作成することです。

ただし、キャラクターが壁を通り抜けないように、衝突検出に非常に苦労しています。glReadPixels を使用して背景の色を見つけることができると言われましたが、これを試みるたびに色が無視され、壁を通過し続けます。

誰でも私を助けてくれませんか。助けてくれるものはどこにも見つからないので、どうすればできるか教えてください。前もって感謝します。

4

1 に答える 1

1

迷路の種類によっては、単位長さの垂直壁と水平壁しかない場合、迷路と現在の位置を 2D 配列/行列で表現し、新しい位置に移動してもよいかどうかを新しい位置の内容に基づいて判断できます。迷路マトリックスの位置。

マトリックス座標とスクリーン座標との間で何らかの変換を行う必要があります

利点:

  • 画面から読み取る必要はありません
  • 迷路は画面に収まるサイズよりも大きくなる可能性があります -- 関連する部分のみを描画します

短所:

  • 「ボルク」タイプの地形のみを使用できます (例: 垂直/水平の壁)
  • 動く敵を追加したい場合、衝突検出が粗すぎる可能性があります (「髪/ピクセルだけで」モンスターを回避することはできません)。
于 2012-04-10T19:29:22.100 に答える