Jonathan Hager 6 years ago
parent c04e7e7f36
commit 0940957cd8

@ -10,7 +10,7 @@ buildscript {
google()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.4.1'
classpath 'com.android.tools.build:gradle:4.0.0'
}

@ -175,21 +175,66 @@ public class Controller extends ApplicationAdapter implements InputProcessor{
} else if (rect.getWidth() == 1) {
level.get(currentChapter).get(currentLevel).verticalCollision();
}
//break;
break;
}
}
if(gs.getObjectRects() != null) {
for (Rectangle rect : gs.getObjectRects()) {
if (Intersector.overlaps(gs.getProjectileCirc(), rect) && !collision) {
if(gs.getObjectRectsBottom() != null) {
for (Rectangle rect : gs.getObjectRectsBottom()) {
if (Intersector.overlaps(gs.getProjectileCirc(), rect)) {
collision = true;
if (rect.getHeight() == 1) {
if (level.get(currentChapter).get(currentLevel).getProjectile().getvY() >= 0){
level.get(currentChapter).get(currentLevel).horizontalCollision();
}
break;
}
}
}
if(gs.getObjectRectsTop() != null) {
for (Rectangle rect : gs.getObjectRectsTop()) {
if (Intersector.overlaps(gs.getProjectileCirc(), rect)) {
collision = true;
if (level.get(currentChapter).get(currentLevel).getProjectile().getvY() <= 0) {
level.get(currentChapter).get(currentLevel).horizontalCollision();
} else if (rect.getWidth() == 1) {
}
break;
}
}
}
if(gs.getObjectRectsRight() != null) {
for (Rectangle rect : gs.getObjectRectsRight()) {
if (Intersector.overlaps(gs.getProjectileCirc(), rect)) {
collision = true;
if (level.get(currentChapter).get(currentLevel).getProjectile().getvX() <= 0) {
level.get(currentChapter).get(currentLevel).verticalCollision();
}
//break;
break;
}
}
}
if(gs.getObjectRectsLeft() != null) {
for (Rectangle rect : gs.getObjectRectsLeft()) {
if (Intersector.overlaps(gs.getProjectileCirc(), rect)) {
collision = true;
if (level.get(currentChapter).get(currentLevel).getProjectile().getvX() >= 0) {
level.get(currentChapter).get(currentLevel).verticalCollision();
}
break;
}
}

@ -53,8 +53,11 @@ public class Gamescreen{
float GAME_WORLD_WIDTH;
float GAME_WORLD_HEIGHT;
ArrayList<Rectangle> objects;
ArrayList<Rectangle> objectRects;
ArrayList<Rectangle> objectRectsTop;
ArrayList<Rectangle> objectRectsBottom;
ArrayList<Rectangle> objectRectsLeft;
ArrayList<Rectangle> objectRectsRight;
boolean win;
public Gamescreen(Level level, float width, float height, Matrix4 matrix){
@ -71,8 +74,11 @@ public class Gamescreen{
th = g.getThickness();
p = level.getProjectile();
objects = level.getObjects();
objectRects = new ArrayList<>();
objectRectsTop = new ArrayList<>();
objectRectsBottom = new ArrayList<>();
objectRectsLeft = new ArrayList<>();
objectRectsRight = new ArrayList<>();
win = false;
@ -89,10 +95,10 @@ public class Gamescreen{
int hitboxWidth = 1; // CHANGE IN STEP TIMER IN CONTROLLER TOO
for (Rectangle object : objects) {
objectRects.add(new Rectangle(object.getX() + 2, object.getY(), object.getWidth() - 4, hitboxWidth)); // UNTEN
objectRects.add(new Rectangle(object.getX() + 2, object.getY() + object.getHeight() - hitboxWidth, object.getWidth() - 4, hitboxWidth)); // OBEN
objectRects.add(new Rectangle(object.getX() + object.getWidth() - hitboxWidth, object.getY() + 2, hitboxWidth, object.getHeight() - 4)); // RECHTS
objectRects.add(new Rectangle(object.getX(), object.getY() + 2, hitboxWidth, object.getHeight() - 4)); // LINKS
objectRectsBottom.add(new Rectangle(object.getX() + 2, object.getY(), object.getWidth() - 4, hitboxWidth)); // UNTEN
objectRectsTop.add(new Rectangle(object.getX() + 2, object.getY() + object.getHeight() - hitboxWidth, object.getWidth() - 4, hitboxWidth)); // OBEN
objectRectsRight.add(new Rectangle(object.getX() + object.getWidth() - hitboxWidth, object.getY() + 2, hitboxWidth, object.getHeight() - 4)); // RECHTS
objectRectsLeft.add(new Rectangle(object.getX(), object.getY() + 2, hitboxWidth, object.getHeight() - 4)); // LINKS
}
goalRect = new Rectangle(x + w*th, y + h*th, w * th * 3, h * 0.1f);
@ -159,7 +165,16 @@ public class Gamescreen{
// object hitboxes
if(objects != null) {
for (Rectangle object : objectRects) {
for (Rectangle object : objectRectsBottom) {
shapeRenderer.rect(object.getX(), object.getY(), object.getWidth(), object.getHeight());
}
for (Rectangle object : objectRectsTop) {
shapeRenderer.rect(object.getX(), object.getY(), object.getWidth(), object.getHeight());
}
for (Rectangle object : objectRectsRight) {
shapeRenderer.rect(object.getX(), object.getY(), object.getWidth(), object.getHeight());
}
for (Rectangle object : objectRectsLeft) {
shapeRenderer.rect(object.getX(), object.getY(), object.getWidth(), object.getHeight());
}
}
@ -198,7 +213,17 @@ public class Gamescreen{
public Circle getProjectileCirc(){
return projectileCirc;
}
public ArrayList<Rectangle> getObjectRects(){
return objectRects;
public ArrayList<Rectangle> getObjectRectsBottom(){
return objectRectsBottom;
}
public ArrayList<Rectangle> getObjectRectsTop(){
return objectRectsTop;
}
public ArrayList<Rectangle> getObjectRectsRight(){
return objectRectsRight;
}
public ArrayList<Rectangle> getObjectRectsLeft(){
return objectRectsLeft;
}
}

@ -74,7 +74,7 @@ public class Leveleditor{
shapeRenderer.setProjectionMatrix(matrix);
// CREATE DEFAULT BUTTONS
buttons = new ArrayList();
buttons = new ArrayList<>();
buttons.add(new Button("Pivot", (int)(GAME_WORLD_WIDTH * 0.02),(int) (GAME_WORLD_HEIGHT - (buttons.size()+1) * 0.1 * GAME_WORLD_HEIGHT), 250, 80, 0));
buttons.add(new Button("Goal", (int)(GAME_WORLD_WIDTH * 0.02), (int)(GAME_WORLD_HEIGHT - (buttons.size()+1) * 0.1 * GAME_WORLD_HEIGHT), 250, 80, 1));
buttons.add(new Button("new Obstacle", (int)(GAME_WORLD_WIDTH * 0.02), (int)(GAME_WORLD_HEIGHT - (buttons.size()+1) * 0.1 * GAME_WORLD_HEIGHT), 250, 80, 2));
@ -124,7 +124,7 @@ public class Leveleditor{
shapeRenderer.end();
batch.begin();
font.getData().setScale(1.6f);
font.draw(batch, button.getText(),button.getxPos() + button.getWidth()/2 - getTextWidth(button.getText())/2, button.getyPos() + button.getHeight()/2 + getTextHeight(button.getText())/2);
font.draw(batch, button.getText(),button.getxPos() + (float) button.getWidth()/2 - getTextWidth(button.getText())/2, button.getyPos() + (float) button.getHeight()/2 + getTextHeight(button.getText())/2);
batch.end();
shapeRenderer.begin(ShapeRenderer.ShapeType.Filled);

@ -1,5 +1,6 @@
#Wed Jun 24 19:31:59 CEST 2020
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-5.4.1-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-6.1.1-all.zip

Loading…
Cancel
Save