Created a terrain's physics box, so the character doesn't fall out

This commit is contained in:
Allexit 2015-04-09 23:03:42 +03:00
parent 1727c43265
commit 16c21698b8

View File

@ -3,6 +3,7 @@ package com.saltosion.gladiator;
import com.badlogic.ashley.core.Engine; import com.badlogic.ashley.core.Engine;
import com.badlogic.ashley.core.Entity; import com.badlogic.ashley.core.Entity;
import com.badlogic.ashley.core.EntityListener; import com.badlogic.ashley.core.EntityListener;
import com.badlogic.ashley.core.EntitySystem;
import com.badlogic.ashley.core.Family; import com.badlogic.ashley.core.Family;
import com.badlogic.gdx.ApplicationAdapter; import com.badlogic.gdx.ApplicationAdapter;
import com.badlogic.gdx.Gdx; import com.badlogic.gdx.Gdx;
@ -42,7 +43,7 @@ public class GladiatorBrawler extends ApplicationAdapter {
engine.addSystem(new RenderingSystem(world)); engine.addSystem(new RenderingSystem(world));
engine.addEntityListener(Family.getFor(CRenderedObject.class, CPhysics.class), engine.addEntityListener(Family.getFor(),
new EntityListener() { new EntityListener() {
@Override @Override
public void entityRemoved(Entity entity) { public void entityRemoved(Entity entity) {
@ -59,9 +60,10 @@ public class GladiatorBrawler extends ApplicationAdapter {
}); });
// Initialize player // Initialize stuff in the world
initializePlayer(); initializePlayer();
initializeTerrain();
} }
@ -93,7 +95,6 @@ public class GladiatorBrawler extends ApplicationAdapter {
fixtureDef.shape = box; fixtureDef.shape = box;
fixtureDef.density = 0.5f; fixtureDef.density = 0.5f;
fixtureDef.friction = 0.4f; fixtureDef.friction = 0.4f;
fixtureDef.restitution = 0.6f;
Fixture fixture = body.createFixture(fixtureDef); Fixture fixture = body.createFixture(fixtureDef);
box.dispose(); box.dispose();
@ -113,6 +114,15 @@ public class GladiatorBrawler extends ApplicationAdapter {
engine.addEntity(player); engine.addEntity(player);
} }
public void initializeTerrain() {
BodyDef terrain = new BodyDef();
Body terrainBody = world.createBody(terrain);
PolygonShape terrainBox = new PolygonShape();
terrainBox.setAsBox(20, 2);
terrainBody.createFixture(terrainBox, 0);
terrainBox.dispose();
}
@Override @Override
public void resize(int width, int height) { public void resize(int width, int height) {
super.resize(width, height); super.resize(width, height);