Java Code Examples for com.badlogic.gdx.graphics.g2d.TextureAtlas#findRegions()

The following examples show how to use com.badlogic.gdx.graphics.g2d.TextureAtlas#findRegions() . You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: Mariano.java    From Entitas-Java with MIT License 5 votes vote down vote up
@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;
}
 
Example 2
Source File: EngineAssetManager.java    From bladecoder-adventure-engine with Apache License 2.0 5 votes vote down vote up
public Array<AtlasRegion> getRegions(String atlas, String name) {
	TextureAtlas a = get(ATLASES_DIR + atlas + ATLAS_EXT, TextureAtlas.class);

	Array<AtlasRegion> region = a.findRegions(name);

	if (region == null) {
		EngineLogger.error("Regions for " + name + " not found in atlas " + atlas);
	}

	return region;
}
 
Example 3
Source File: Mariano.java    From Entitas-Java with MIT License 4 votes vote down vote up
@Override
public GameEntity create(Engine engine, Entitas entitas) {
    PhysicsManagerGDX physics = engine.getManager(PhysicsManagerGDX.class);
    BodyBuilder bodyBuilder = physics.getBodyBuilder();

    TextureAtlas textureAtlas = assetsManager.getTextureAtlas(atlas);
    ParticleEffect dustEffect = assetsManager.get(effect, ParticleEffect.class);

    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 = EntitasCollections.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 = entitas.game.createEntity();
    entity.addRigidBody(bodyPlayer)
            .addAnimations(animationStates, animationStates.get("idle"), 0)
            .addTags("Mariano")
            .setInteractive(true)
            .addTextureView(null, new Bounds(0.9f, 1.15f), false, false, 1, 1, Color.WHITE)
            .addInputController((inputManager, context) -> {
                boolean isGround = false;
                SensorEntity sensor = Indexed.getSensorsEntity(entity, "CollisionGround");
                if (sensor.getCollisionSensor().collisionSignal)
                    isGround = true;


                Vector2 impulse = new Vector2();
                if (inputManager.isKeyDown(Input.Keys.D)) {
                    impulse.x = 2;
                    if (isGround)
                        entity.getAnimations().currentAnimation = entity.getAnimations().animationStates.get("walking");
                    entity.getTextureView().flipX = false;
                } else if (inputManager.isKeyDown(Input.Keys.A)) {
                    impulse.x = -2;
                    if (isGround)
                        entity.getAnimations().currentAnimation = entity.getAnimations().animationStates.get("walking");
                    entity.getTextureView().flipX = true;
                }

                if (inputManager.isKeyDown(Input.Keys.W)) {
                    if (isGround) impulse.y = 4;
                    entity.getAnimations().currentAnimation = entity.getAnimations().animationStates.get("jump");
                }

                Vector2 vel = bodyPlayer.getLinearVelocity();
                if (!inputManager.isKeyDown(Input.Keys.A) && !inputManager.isKeyDown(Input.Keys.D) && isGround) {
                    bodyPlayer.setLinearVelocity(new Vector2(0, vel.y));
                    entity.getAnimations().currentAnimation = entity.getAnimations().animationStates.get("idle");
                }

                if (Math.abs(vel.x) > 7) {
                    vel.x = Math.signum(vel.x) * 7;
                    bodyPlayer.setLinearVelocity(new Vector2(vel.x, vel.y));
                }
                if (!isGround && vel.y < 0) {
                    entity.getAnimations().currentAnimation = entity.getAnimations().animationStates.get("fall");
                }
                bodyPlayer.applyLinearImpulse(impulse, bodyPlayer.getWorldCenter(), false);

            });

    entitas.sensor.createEntity()
            .addCollisionSensor("Ground")
            .addLink(entity.getCreationIndex(), "CollisionGround");

    entitas.actuator.createEntity()
            .addCameraActuator(((EngineGDX) engine).getCamera(), (short) 0.3f, 0.08f, 6, 1, "Mariano")
            .addLink(entity.getCreationIndex(), "CameraActuator", true);

    entitas.actuator.createEntity()
            .addParticleEffectActuator(dustEffect,true,-1,-1)
            .addLink(entity.getCreationIndex(), "EffectActuator", true);


    return entity;

}