[LibGDX] Quebradero de cabeza con ciclo día-noche

autlos

Tengo una textura para el día y otra para la noche. Lo que quiero hacer es una transición: Tener la textura de noche con alpha = 0 y que según vaya poniéndose el sol y saliendo la luna, empiece a oscurecer (aumentar alpha).

Tengo esto:

// Los dos if inservibles en el act son para que al postear la duda se vea más fácilmente lo que hace.

Y el resultado es una puta tormenta:
https://www.dropbox.com/s/e2hfo7q1bw0jc30/test.mp4

Estoy seguro que el fallo está en el último:
batch.setColor(color.r, color.g, color.b, 1f);

Pero no sé cómo debería ser.

También he probado usando la clase Image con esta acción:
addAction(Actions.forever(Actions.sequence(Actions.delay(dayTime / 4), Actions.fadeIn(dayTime / 4), Actions.delay(dayTime / 4), Actions.fadeOut(dayTime / 4))));

Que a priori es más exacto y simple, pero funciona aún peor xD.

Por cierto, no sé cómo añadir código al foro como hacéis vosotros, de ahí la captura jaja.

FrioneL

#1 Algo parecido me paso a mi y era porque la opacidad tenia valor negativo. Mirando tu codigo por encima, no se cuando llamaras al reset() pero no veo que controles el limite del valor de la opacidad: [0, 1]. Deberias limitar que no pases de ese rango.

1 1 respuesta
autlos

#2 Creo que te quiero xDD. Era eso, menudo fallo más tonto.

Reset es sólo para el restart game.

Duda resuelta :D

1

Usuarios habituales

  • autlos
  • FrioneL