Hallo zusammen!
Mit folgender Methode will ich testen, ob sich ein Punkt mit einem Objekt überschneidet
x = 200, y = 200
dim 0 = 100
dim 1 = 150
dim 2 = 200
dim 3 = 5
Müsste doch false zurückgeben, wohingegen der punkt x=200, y=153 true zurückgeben müsste?
Wäre dankbar, wenn mir jemand entweder das bestätigt, oder sagt wo der Fehler liegt, so dass ich ggf. anderswo mit der Fehlersuche ansetzen muss.
Danke im Vorraus,
k.
Mit folgender Methode will ich testen, ob sich ein Punkt mit einem Objekt überschneidet
Code:
public boolean checkCollision(int x, int y){
boolean collision = false, collisionH = false, collisionV = false;
for (int horizontal=dim[0]; horizontal<(dim[0]+dim[2]); horizontal++){
if (horizontal == x) collisionH = true;
}
for (int vertical=dim[1]; vertical<(dim[1]+dim[3]); vertical++){
if (vertical == y) collisionV = true;
}
if ( ( (collisionH = true) && (collisionV = true) ) ){
collision = true;
}else{
collision = false;
}
return collision;
}
x = 200, y = 200
dim 0 = 100
dim 1 = 150
dim 2 = 200
dim 3 = 5
Müsste doch false zurückgeben, wohingegen der punkt x=200, y=153 true zurückgeben müsste?
Wäre dankbar, wenn mir jemand entweder das bestätigt, oder sagt wo der Fehler liegt, so dass ich ggf. anderswo mit der Fehlersuche ansetzen muss.
Danke im Vorraus,
k.