use of com.badlogic.gdx.physics.box2d.Body in project Entitas-Java by Rubentxu.
the class GameSceneState method initialize.
@Override
public void initialize() {
atlas = assetsManager.getTextureAtlas(SPRITE_ATLAS);
Array<TextureAtlas.AtlasRegion> heroWalking = atlas.findRegions("Andando");
Array<TextureAtlas.AtlasRegion> heroJump = atlas.findRegions("Saltando");
Array<TextureAtlas.AtlasRegion> heroFall = atlas.findRegions("Cayendo");
Array<TextureAtlas.AtlasRegion> heroIdle = atlas.findRegions("Parado");
Animation walking = new Animation(RUNNING_FRAME_DURATION, heroWalking, Animation.PlayMode.LOOP);
Animation jump = new Animation(RUNNING_FRAME_DURATION * 7, heroJump, Animation.PlayMode.NORMAL);
Animation fall = new Animation(RUNNING_FRAME_DURATION * 5, heroFall, Animation.PlayMode.NORMAL);
Animation idle = new Animation(RUNNING_FRAME_DURATION * 4, heroIdle, Animation.PlayMode.LOOP);
Map animationHero = Collections.createMap(String.class, Animation.class);
animationHero.put("WALKING", walking);
animationHero.put("JUMPING", jump);
animationHero.put("FALL", fall);
animationHero.put("HURT", fall);
animationHero.put("IDLE", idle);
animationHero.put("HIT", fall);
Body body = bodyBuilder.fixture(new FixtureDefBuilder().boxShape(0.5f, 0.5f)).type(BodyDef.BodyType.KinematicBody).build();
systems.add(new InputsControllerSystem(entitas.input, guiFactory)).add(new AnimationSystem(entitas)).add(new TextureRendererSystem(entitas, engine.batch));
entitas.game.getPlayerEntity().addTextureView(null, new Bounds(0.8f, 1.2f), false, false, 1, 1, Color.WHITE).addAnimations(animationHero, walking, 0.02f).addRigidBody(body);
}
use of com.badlogic.gdx.physics.box2d.Body in project Entitas-Java by Rubentxu.
the class Block method create.
@Override
public GameEntity create(Engine engine, Context<GameEntity> context) {
BasePhysicsManager physics = engine.getManager(BasePhysicsManager.class);
BodyBuilder bodyBuilder = physics.getBodyBuilder();
Body bodyBlock = bodyBuilder.fixture(new FixtureDefBuilder().boxShape(1, 1).friction(0.5f).restitution(0.5f)).type(BodyDef.BodyType.StaticBody).build();
GameEntity entity = context.createEntity().addRigidBody(bodyBlock).addElement("Platform", "Block");
return entity;
}
use of com.badlogic.gdx.physics.box2d.Body in project Entitas-Java by Rubentxu.
the class Ground method create.
@Override
public GameEntity create(Engine engine, Context<GameEntity> context) {
BasePhysicsManager physics = engine.getManager(BasePhysicsManager.class);
BodyBuilder bodyBuilder = physics.getBodyBuilder();
Body bodyGround = bodyBuilder.fixture(new FixtureDefBuilder().boxShape(50, 0.5f).friction(0.5f)).build();
GameEntity entity = ((GameContext) context).createEntity().addRigidBody(bodyGround).addElement("Platform", "Ground");
return entity;
}
use of com.badlogic.gdx.physics.box2d.Body in project Entitas-Java by Rubentxu.
the class Mariano method create.
@Override
public GameEntity create(Engine engine, Context<GameEntity> context) {
BasePhysicsManager physics = engine.getManager(BasePhysicsManager.class);
BodyBuilder bodyBuilder = physics.getBodyBuilder();
TextureAtlas textureAtlas = assetsManager.getTextureAtlas(atlas);
Array<TextureAtlas.AtlasRegion> heroWalking = textureAtlas.findRegions("Andando");
Array<TextureAtlas.AtlasRegion> heroJump = textureAtlas.findRegions("Saltando");
Array<TextureAtlas.AtlasRegion> heroFall = textureAtlas.findRegions("Cayendo");
Array<TextureAtlas.AtlasRegion> heroIdle = textureAtlas.findRegions("Parado");
Map<String, Animation<TextureRegion>> animationStates = Collections.createMap(String.class, Animation.class);
animationStates.put("walking", new Animation(0.02f, heroWalking, Animation.PlayMode.LOOP));
animationStates.put("jump", new Animation(0.02f * 7, heroJump, Animation.PlayMode.NORMAL));
animationStates.put("fall", new Animation(0.02f * 5, heroFall, Animation.PlayMode.NORMAL));
animationStates.put("idle", new Animation(0.02f * 4, heroIdle, Animation.PlayMode.LOOP));
Body bodyPlayer = bodyBuilder.fixture(bodyBuilder.fixtureDefBuilder().boxShape(0.35f, 1).density(1)).type(BodyDef.BodyType.DynamicBody).fixedRotation().position(0, 5).mass(1).build();
GameEntity entity = ((GameContext) context).getPlayerEntity().addRigidBody(bodyPlayer).addAnimations(animationStates, animationStates.get("idle"), 0).addCharacter("Mariano", StateCharacter.IDLE, false).addMovable(7, 8).addTextureView(null, new Bounds(0.9f, 1.15f), false, false, 1, 1, Color.WHITE);
return entity;
}
use of com.badlogic.gdx.physics.box2d.Body in project Entitas-Java by Rubentxu.
the class AddViewSystem method execute.
@Override
public void execute(List<GameEntity> entities) {
for (GameEntity e : entities) {
Texture texture = assetsManager.getTexture(String.format("assets/textures/%1$s.png", e.getAsset().name));
Body body = bodyBuilder.fixture(new FixtureDefBuilder().boxShape(0.5f, 0.5f)).type(BodyDef.BodyType.KinematicBody).build();
TextureRegion textureRegion = new TextureRegion(texture, 0, 0, texture.getWidth(), texture.getHeight());
e.addTextureView(e.getAsset().name, textureRegion, body);
//
if (e.hasPosition()) {
Position pos = e.getPosition();
body.setTransform(new Vector2(pos.x, pos.y + 1), 0);
}
}
}
Aggregations