Skip to content
Snippets Groups Projects
Commit 7b24f791 authored by janetho@stud.ntnu.no's avatar janetho@stud.ntnu.no
Browse files

#20 Added terrain to world

parent 47c430a7
No related branches found
No related tags found
1 merge request!22#20 Added terrain to world
Pipeline #206178 passed
package com.game.tankwars.model;
import com.badlogic.gdx.math.Vector2;
import com.badlogic.gdx.physics.box2d.Body;
import com.badlogic.gdx.physics.box2d.BodyDef;
import com.badlogic.gdx.physics.box2d.ChainShape;
import com.badlogic.gdx.physics.box2d.FixtureDef;
import com.badlogic.gdx.physics.box2d.World;
import java.util.Arrays;
public class Terrain {
World world;
Body body;
final Vector2[] vertices;
Vector2 position;
public Terrain(){
float xStart = -5;
float xEnd = 100;
float yMin = 1f;
float yMax = 10;
int points = 10;
int vertNumber = 1000;
this.world = Box2dWorld.getWorld();
BodyDef bodyDef = new BodyDef();
bodyDef.type = BodyDef.BodyType.StaticBody;
bodyDef.position.set(0,0);
vertices = new TerrainGenerator(xStart, xEnd, yMin, yMax, points).generateVertices(vertNumber);
ChainShape chainShape = new ChainShape();
chainShape.createChain(vertices);
FixtureDef fixtureDef = new FixtureDef();
fixtureDef.friction = 0.5f;
fixtureDef.restitution = 0;
fixtureDef.shape = chainShape;
body = world.createBody(bodyDef);
body.createFixture(fixtureDef);
chainShape.dispose();
}
}
......@@ -19,6 +19,7 @@ import com.game.tankwars.TankWarsGame;
import com.game.tankwars.model.Box2dWorld;
import com.game.tankwars.model.Bullet;
import com.game.tankwars.model.Tank;
import com.game.tankwars.model.Terrain;
public class GameScreen implements Screen {
final TankWarsGame tankWarsGame;
......@@ -32,6 +33,7 @@ public class GameScreen implements Screen {
private Tank tank;
private Box2dWorld model;
private World world;
private Terrain terrain;
private OrthographicCamera cam;
private Box2DDebugRenderer debugRenderer;
......@@ -51,6 +53,9 @@ public class GameScreen implements Screen {
tank = new Tank(tankPos, new Texture("tank-khaki.png"));
horizontalScaling = Gdx.graphics.getWidth() / VIEWPORT_WIDTH;
verticalScaling = Gdx.graphics.getHeight() / VIEWPORT_HEIGHT;
terrain = new Terrain();
}
@Override
public void render(float delta) {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment