Campo de Estrellas.

Código de las estrellas en Cycle3.

/**
 * Created by Oin Zea on 9/29/2016.
 */
class Star extends BaseActor {

    private final static float MAX_SIZE = 5;
    private final static float MIN_SIZE = 2;
    private final static float BASE_SPEED = 20f;

    private float speed;

    Star() {
        super(RM.get().TR.get(ST.TEXTURE.STAR), 0, 0);

        setColor(Color.Grey);

        setSizeAndSpeed();

        setPosition(
                MathUtils.random(WORLD_WIDTH - MAX_SIZE),
                MathUtils.random(WORLD_HEIGHT));

        addAction(Actions.delay(.6f, Actions.fadeIn(3f)));
    }

    @Override
    public void act(float delta) {
        super.act(delta);

        setY(getY() - (speed * delta));

        if (getY() <= -getHeight()) reset();
    }

    private void reset(){

        setSizeAndSpeed();

        setPosition(
                MathUtils.random(0, WORLD_WIDTH - MAX_SIZE),
                WORLD_HEIGHT);
    }

    private void setSizeAndSpeed(){

        float newSize = MathUtils.random(MIN_SIZE, MAX_SIZE);
        setSize(newSize, newSize);

        speed = BASE_SPEED * newSize;
    }
}

 

  • 6, 7 y 8: Tamaño máximo, mínimo y velocidad base de las estrellas.
  • 17: Ver linea 44.
  • 19, 20 y 21: Posición inicial aleatoria entre el tamaño de la pantalla.
  • 23: Efecto de colorarse poco a poco desde la transparencia.
  • 27-33: Método de actuar donde se calcula movimiento.
  • 35-42: Método donde se re-inicia la estrella a una nueva posición cuando llega al final de la pantalla.
  • 44: Método para calcular nuevo tamaño y velocidad de la estrella.
  • 46: Calculo aleatorio de tamaño entre un valor mayor y mínimo (6 y 7).
  • 49: Calculo para nueva velocidad basado en su nuevo tamaño. Mientras mas grande, mas rápida la velocidad.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

Conectando a %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.