If Rect not intersects

  • 1 Antworten
  • Letztes Antwortdatum
I

in3rtex

Neues Mitglied
0
Hey, ich benutze den Code hier:
PHP:
for(Grass g : blocks){
			if(Rect.intersects(g.rect, player.rect)){
				if(g.x < player.x){
					player.collisionleft = true;
				}
				if(g.y < player.y){
					player.collisiontop = true;
				}
			}
		}
, um zu prüfen ob das Rechteck "Player" das Rechteck "Grass" überlappt/intersects. Der Code oben funktioniert, und die collision wird auf "true" gesetzt. Aber ich möchte, dass wenn sie sich nicht überlappen, collision auf "false" gesetzt wird. Dazu verwende ich den Code:
PHP:
for(Grass g : blocks){
			if(Rect.intersects(g.rect, player.rect)){
				if(g.x < player.x){
					player.collisionleft = true;
				}
				if(g.y < player.y){
					player.collisiontop = true;
				}
			}else{
                player.collisionleft = false;
                player.collisiontop = false;
            }
		}
, doch jetzt ist es immer "false", ob sie sich überlappen oder nicht.
Bitte um Hilfe

Danke :) MfG iN3rteX
 
hmm kann eigentlich nicht wirklich sein.
Frage:
Kann es sein danns g.x und g.y jeweils größer sind als player.x und player.y ?
Dann würde er nämlich bei den inneren if-statements nicht rein gehen.

Ansonsten debugger anwerfen und schritt für schritt durchgehen und schauen wann er wo lang geht und warum die wieder auf false gesetzt werden.
 
Zurück
Oben Unten