0

30 個の配列に格納されたブロック (40 x 40 の四角形) で構成されたプラットフォーマー用のランダムに生成された 2D マップがあります。ブロックを移動するプッシュ関数があり、プッシュによって xpos と配列上の位置が変更されます。配列の 5 ~ 25 の位置を描画するだけです。

私が移動するときは、画面の前半のキャラクターだけを移動します。そのため、画面の中央部分と 0xpos の間に衝突があります。現在、問題はブロックを移動することです。

自然に見えるように動かす方法が思い浮かびません。それを行う方法についてのアイデアはありますか?これまでのところ、キャラクターが40ピクセル相当の速度に相当する画面の片側に衝突するたびに、ブロックを押して別のブロックをランダムに生成するようにしています.

4

2 に答える 2

1

この種の効果は、物理エンジンを使用することでより効果的に実現できます。たとえば、これを見てください。このようなエンジンは、ライブ ゲーム開発を本当に単純化し、その結果は常に、その使用方法を学ぶ努力に値します。

于 2012-07-05T16:08:41.980 に答える
1

配列を介してすべてのブロックを移動しようとする代わりに、標準キューを使用する方が簡単な場合があります。

http://www.cplusplus.com/reference/stl/queue/

この方法では、画面上のブロックの動きに対処するだけでよく、不要になったブロックをキューの先頭から削除して、最後に別のブロックを追加できます。

于 2012-07-05T18:28:47.363 に答える