GammelJan 6 years ago
commit 10528a47d5

@ -46,7 +46,7 @@ public class Controller extends ApplicationAdapter implements InputProcessor{
boolean isColliding;
Level[] level;
int currentLevel;
int beatenLevel;
int beatenLevel = 9;
OrthographicCamera camera;
@ -85,6 +85,7 @@ public class Controller extends ApplicationAdapter implements InputProcessor{
level[7] = new Level(new Goal(1000,600,450,100, 0.2f), new Projectile(0,0,0),200,200);
level[8] = new Level(new Goal(760,460,450,100, 0.2f), new Projectile(0,0,0),200,200);
level[9] = new Level(new Goal(1000,580,350,100, 0.2f), new Projectile(0,0,0),200,200);
level[9].addRectangle(400, 400, 50,200);
stepTimer = new Timer();
stepTimer.scheduleTask(new Timer.Task() {
@ -119,18 +120,20 @@ public class Controller extends ApplicationAdapter implements InputProcessor{
}
}
}
for(Rectangle rect : gs.getObjectRects()){
if(Intersector.overlaps(gs.getProjectileCirc(), rect)) {
collision = true;
if (!isColliding) {
if (rect.getHeight() == 1) {
level[currentLevel].horizontalCollision();
} else if (rect.getWidth() == 1) {
level[currentLevel].verticalCollision();
if(gs.getObjectRects() != null) {
for (Rectangle rect : gs.getObjectRects()) {
if (Intersector.overlaps(gs.getProjectileCirc(), rect)) {
collision = true;
if (!isColliding) {
if (rect.getHeight() == 1) {
level[currentLevel].horizontalCollision();
} else if (rect.getWidth() == 1) {
level[currentLevel].verticalCollision();
}
isColliding = true;
break;
}
isColliding = true;
break;
}
}
}

@ -46,6 +46,8 @@ public class Level {
this.yPosPivot = yPosPivot;
this.angle = 0;
this.angleSpeed = 0;
objects = new ArrayList<>();
traceIndex = 0;
isTraceInitialised = new boolean[50];

@ -62,13 +62,15 @@ public class Gamescreen{
pivotX = level.getPivotX();
pivotY = level.getPivotY();
g = level.getGoal();
objects = level.getObjects();
x = g.getxPos();
y = g.getyPos();
w = g.getSizeX();
h = g.getSizeY();
th = g.getThickness();
p = level.getProjectile();
objects = level.getObjects();
objectRects = new ArrayList<>();
win = false;
@ -83,12 +85,14 @@ public class Gamescreen{
goalRects[5] = new Rectangle(x + th*4 * w ,y + h - 1f ,w *th ,1 );
goalRects[6] = new Rectangle(x + w-1 ,y ,1 ,h );
goalRects[7] = new Rectangle(x ,y ,w ,1 );
for(Rectangle object : objects){
objectRects.add(new Rectangle(object.getX(), object.getY(), 1, object.getHeight()));
objectRects.add(new Rectangle(object.getX(), object.getY() + object.getHeight() - 1, object.getWidth(), 1));
objectRects.add(new Rectangle(object.getX() + object.getWidth()-1, object.getY(), 1, object.getHeight()));
objectRects.add(new Rectangle(object.getX(), object.getY(),object.getWidth(), 1));
if(objects != null) {
for (Rectangle object : objects) {
objectRects.add(new Rectangle(object.getX(), object.getY(), 1, object.getHeight()));
objectRects.add(new Rectangle(object.getX(), object.getY() + object.getHeight() - 1, object.getWidth(), 1));
objectRects.add(new Rectangle(object.getX() + object.getWidth() - 1, object.getY(), 1, object.getHeight()));
objectRects.add(new Rectangle(object.getX(), object.getY(), object.getWidth(), 1));
}
}
goalRect = new Rectangle(x + w*th, y + h*th, w * th * 3, h * 0.1f);
@ -106,6 +110,7 @@ public class Gamescreen{
pivotY = level.getPivotY();
g = level.getGoal();
objects = level.getObjects();
shapeRenderer.begin(ShapeRenderer.ShapeType.Filled);
shapeRenderer.setColor(Color.BLACK);
@ -129,9 +134,11 @@ public class Gamescreen{
shapeRenderer.rect(x + th * w,y, th*3 * w,th * h);
shapeRenderer.rect(x + th *w + th*3 * w, y, th * w,h);
shapeRenderer.circle((float) p.getxPos(), (float) p.getyPos(), p.getRadius());
for(Rectangle object : objects){
shapeRenderer.rect(object.getX(), object.getY(), object.getWidth(), object.getHeight());
if(objects != null) {
for (Rectangle object : objects) {
shapeRenderer.rect(object.getX(), object.getY(), object.getWidth(), object.getHeight());
}
}
shapeRenderer.setColor(Color.RED);
@ -152,8 +159,10 @@ public class Gamescreen{
shapeRenderer.rect(g.getxPos(), g.getyPos(), g.getSizeX(), g.getSizeY());
*/
// object hitboxes
for(Rectangle object: objectRects){
shapeRenderer.rect(object.getX(), object.getY(), object.getWidth(), object.getHeight());
if(objects != null) {
for (Rectangle object : objectRects) {
shapeRenderer.rect(object.getX(), object.getY(), object.getWidth(), object.getHeight());
}
}

Loading…
Cancel
Save