Search in sources :

Example 41 with Body

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);
}
Also used : FixtureDefBuilder(ilargia.egdx.util.FixtureDefBuilder) AnimationSystem(com.ilargia.games.logicbrick.system.game.AnimationSystem) Bounds(com.ilargia.games.logicbrick.data.Bounds) Animation(com.badlogic.gdx.graphics.g2d.Animation) Map(java.util.Map) Body(com.badlogic.gdx.physics.box2d.Body) TextureRendererSystem(com.ilargia.games.logicbrick.system.render.TextureRendererSystem) InputsControllerSystem(com.ilargia.games.logicbrick.system.InputsControllerSystem)

Example 42 with 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;
}
Also used : FixtureDefBuilder(ilargia.egdx.util.FixtureDefBuilder) GameEntity(com.indignado.games.states.game.gen.GameEntity) BasePhysicsManager(com.ilargia.games.entitas.egdx.base.managers.BasePhysicsManager) BodyBuilder(ilargia.egdx.util.BodyBuilder) Body(com.badlogic.gdx.physics.box2d.Body)

Example 43 with Body

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;
}
Also used : FixtureDefBuilder(ilargia.egdx.util.FixtureDefBuilder) GameEntity(com.indignado.games.states.game.gen.GameEntity) GameContext(com.indignado.games.states.game.gen.GameContext) BasePhysicsManager(com.ilargia.games.entitas.egdx.base.managers.BasePhysicsManager) BodyBuilder(ilargia.egdx.util.BodyBuilder) Body(com.badlogic.gdx.physics.box2d.Body)

Example 44 with Body

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;
}
Also used : GameEntity(com.indignado.games.states.game.gen.GameEntity) Bounds(com.indignado.games.states.game.data.Bounds) BasePhysicsManager(com.ilargia.games.entitas.egdx.base.managers.BasePhysicsManager) BodyBuilder(ilargia.egdx.util.BodyBuilder) Body(com.badlogic.gdx.physics.box2d.Body)

Example 45 with Body

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);
        }
    }
}
Also used : GameEntity(com.ilargia.games.logicbrick.gen.game.GameEntity) FixtureDefBuilder(com.ilargia.games.entitas.egdx.base.util.FixtureDefBuilder) TextureRegion(com.badlogic.gdx.graphics.g2d.TextureRegion) Position(com.ilargia.games.logicbrick.component.game.Position) Vector2(com.badlogic.gdx.math.Vector2) Texture(com.badlogic.gdx.graphics.Texture) Body(com.badlogic.gdx.physics.box2d.Body)

Aggregations

Body (com.badlogic.gdx.physics.box2d.Body)49 Vector2 (com.badlogic.gdx.math.Vector2)21 BodyDef (com.badlogic.gdx.physics.box2d.BodyDef)16 PolygonShape (com.badlogic.gdx.physics.box2d.PolygonShape)14 FixtureDef (com.badlogic.gdx.physics.box2d.FixtureDef)9 CircleShape (com.badlogic.gdx.physics.box2d.CircleShape)7 EdgeShape (com.badlogic.gdx.physics.box2d.EdgeShape)7 Fixture (com.badlogic.gdx.physics.box2d.Fixture)7 BasePhysicsManager (com.ilargia.games.entitas.egdx.base.managers.BasePhysicsManager)6 GameEntity (com.indignado.games.states.game.gen.GameEntity)6 BodyBuilder (ilargia.egdx.util.BodyBuilder)6 GameEntity (ilargia.egdx.logicbricks.gen.game.GameEntity)5 FixtureDefBuilder (ilargia.egdx.util.FixtureDefBuilder)5 Entity (com.artemis.Entity)4 Texture (com.badlogic.gdx.graphics.Texture)4 Animation (com.badlogic.gdx.graphics.g2d.Animation)4 World (com.badlogic.gdx.physics.box2d.World)4 PhysicsComponent (com.gemserk.commons.artemis.components.PhysicsComponent)4 OrthographicCamera (com.badlogic.gdx.graphics.OrthographicCamera)3 TextureRegion (com.badlogic.gdx.graphics.g2d.TextureRegion)3