0

私はタイルの衝突に取り組んでいます。現在、タイル マップを通常の方法 (2 つの for ループ) で描画するだけで、スクロールはありません。現在、プレイヤーがタイルの上にいるかどうかを確認するために使用しますが、壁として機能できるように、タイルにぶつかるtileX = (int)person1v.X / 16; tileY = (int)person1v.Y / 16;に 衝突を検出したいと考えています。移動する前に衝突を検出するにはどうすればよいですか?

4

2 に答える 2

0

プレーヤーが一度に3ピクセル移動する場合は、次を確認します。

leftTile = (int)(person1v.x - 3) / 16;

右側のタイルは次のようになります。

rightTile = (int)(person1v.x + 3 + 16) / 16;
于 2010-04-18T16:29:33.917 に答える
0

最初に彼を動かしてから衝突をチェックする代わりに、キャラクターの将来の位置の衝突をチェックし、衝突がない場合はキャラクターの位置を変更します。

于 2012-08-30T11:36:47.780 に答える