Pantalla de Opciones

Ya que el proyecto está en la tienda de Google bajo desarrollo interno, voy a codificar una pantalla para dar acceso a herramientas de diagnóstico a los provadores.

Lo único nuevo, en cuanto a código se refiere, es el uso de «CheckBox» de la librería «LibGDX.Scene2d.UI» y las líneas animadas por decoración (TiledLine).

La clase «TiledLine.java» solo maneja un arreglo de actores extendidos por la clase «BaseAnimatedActor.java».

public class BaseAnimatedActor extends Actor {
    
    private float stateTime;
    private final Animation<TextureRegion> animation;

    public BaseAnimatedActor(Animation<TextureRegion> animation, float stateTime) {
        this.animation = animation;

        this.stateTime = stateTime;

        float width  = animation.getKeyFrame(0).getRegionWidth();
        float height = animation.getKeyFrame(0).getRegionHeight();

        setBounds(getX(), getY(), width, height);
        setOrigin(width / 2, height / 2);
    }
}

Para animar las entidades o lozas, como las llamo, añado la línea 51 en el método de «act».

    @Override
    public void act(float delta) {
        super.act(delta);
        stateTime += delta;
    }

Después, añado las líneas 58, 60 y 62 en el método «draw» para dibujar las lozas en pantalla.

    @Override
    public void draw(Batch batch, float parentAlpha) {
        super.draw(batch, parentAlpha);

        TextureRegion currentFrame = animation.getKeyFrame(stateTime, true);

        batch.setColor(getColor().r, getColor().g, getColor().b, getColor().a * parentAlpha);

        batch.draw(currentFrame, getX(), getY(), getOriginX(), getOriginY(),
                getWidth(), getHeight(), getScaleX(), getScaleY(), getRotation());
    }

Y así se ve:

Únete a otros 36 suscriptores

Deja una respuesta

Anuncios


Consola en pantalla 

Algo que siempre he querido tener es la consola visual en pantalla. Lo encuentro útil porque puedo ver el evento directo sin tener que desviar la mirada hacia la consola.

Continua Leyendo…
Anuncios