過去に衝突の助けを求めるいくつかのスレッドを作成し、いくつかの進歩を遂げました。画面上のプレーヤーがキーボード入力で移動する 2D Java ゲームを作成しています。問題は、背景 (マップ) にあります。多くの障害があり、現時点では私のプレーヤーはそれらをまっすぐに通り抜けるだけですが、これまでのところ、このフォーラムのユーザーの助けを借りて、衝突を検出するためにコードに次のコードを入れました:
public void changeBuckyPos(float deltaX, float deltaY) {
float newX = buckyPositionX + deltaX;
float newY = buckyPositionY + deltaY;
// check for collisions
Rectangle rectOne = new Rectangle((int)newX, (int)newY, 40, 40);
Rectangle rectTwo = new Rectangle(-100, -143, 70,70);
if (!rectOne.intersects(rectTwo)) {
buckyPositionX = newX;
buckyPositionY = newY;
}
}
このコードをゲームに入れてもエラーはなくなりましたが、より大きな問題が発生しました。このコードではエラーは発生しませんが、何もしません。つまり、ゲームを開始しても衝突は発生しません。 2 つの長方形が交差しても何も起こらないので、誰か助けてください。
ありがとうございました。