Jonathan Hager 6 years ago
parent b1a8ee5522
commit cb40fc4937

@ -158,41 +158,40 @@ public class Controller extends ApplicationAdapter implements InputProcessor{
gs.step(level.get(currentChapter).get(currentLevel)); gs.step(level.get(currentChapter).get(currentLevel));
boolean collision = false; boolean collision = false;
double tempX = level.get(currentChapter).get(currentLevel).getProjectile().getxPos();
double tempY = level.get(currentChapter).get(currentLevel).getProjectile().getyPos();
for(Rectangle rect : gs.getGoalRects()){ for(Rectangle rect : gs.getGoalRects()){
if(Intersector.overlaps(gs.getProjectileCirc(), rect)) { if(Intersector.overlaps(gs.getProjectileCirc(), rect)) {
collision = true; collision = true;
if (!isColliding) {
if (rect.getHeight() == 1) { if (rect.getHeight() == 1) {
level.get(currentChapter).get(currentLevel).horizontalCollision(); level.get(currentChapter).get(currentLevel).horizontalCollision();
} else if (rect.getWidth() == 1) { } else if (rect.getWidth() == 1) {
level.get(currentChapter).get(currentLevel).verticalCollision(); level.get(currentChapter).get(currentLevel).verticalCollision();
} }
isColliding = true;
break; break;
} }
} }
}
if(gs.getObjectRects() != null) { if(gs.getObjectRects() != null) {
for (Rectangle rect : gs.getObjectRects()) { for (Rectangle rect : gs.getObjectRects()) {
if (Intersector.overlaps(gs.getProjectileCirc(), rect)) { if (Intersector.overlaps(gs.getProjectileCirc(), rect)) {
collision = true; collision = true;
if (!isColliding) {
if (rect.getHeight() == 1) { if (rect.getHeight() == 1) {
level.get(currentChapter).get(currentLevel).horizontalCollision(); level.get(currentChapter).get(currentLevel).horizontalCollision();
} else if (rect.getWidth() == 1) { } else if (rect.getWidth() == 1) {
level.get(currentChapter).get(currentLevel).verticalCollision(); level.get(currentChapter).get(currentLevel).verticalCollision();
} }
isColliding = true;
break; break;
}
} }
} }
} }
if(!collision){ if(collision){
isColliding = false; level.get(currentChapter).get(currentLevel).getProjectile().setxPos(tempX);
level.get(currentChapter).get(currentLevel).getProjectile().setyPos(tempY);
} }
} }

Loading…
Cancel
Save