diff --git a/app/src/main/java/com/example/ellegadodepintia/exploradoresDePintia/model/LayoutUtils.kt b/app/src/main/java/com/example/ellegadodepintia/exploradoresDePintia/model/LayoutUtils.kt
index ffdab63b56b4d1f918514b7aaa26bca6d0370b7e..f9087854c0c47ac12b8463069baddc66ac019a93 100644
--- a/app/src/main/java/com/example/ellegadodepintia/exploradoresDePintia/model/LayoutUtils.kt
+++ b/app/src/main/java/com/example/ellegadodepintia/exploradoresDePintia/model/LayoutUtils.kt
@@ -12,7 +12,7 @@ import com.example.ellegadodepintia.R
 import com.example.ellegadodepintia.exploradoresDePintia.ModalDetallesFragment
 import com.example.ellegadodepintia.exploradoresDePintia.model.GameState.context
 import com.example.ellegadodepintia.exploradoresDePintia.model.objeto.Objeto
-
+import android.animation.ObjectAnimator
 
 object LayoutUtils {
 
@@ -40,6 +40,8 @@ object LayoutUtils {
         actualizarJugador(barraVida, ataqueText, investigacionText, vidaText, energiaText, barraEnergia)
     }
 
+
+
     private fun actualizarJugador(
         barraVida: ProgressBar,
         ataqueText: TextView,
@@ -48,25 +50,33 @@ object LayoutUtils {
         energiaText: TextView,
         barraEnergia: ProgressBar
     ) {
-        barraVida.max = GameState.jugador.vidaMax
-        barraVida.progress = GameState.jugador.atributos[Atributo.Vida]!!
-        barraEnergia.max = GameState.jugador.energiaMax
-        barraEnergia.progress = GameState.jugador.atributos[Atributo.Energia]!!
+        val vidaMax = GameState.jugador.vidaMax
+        val vidaActual = GameState.jugador.atributos[Atributo.Vida]!!
+        if (barraVida.progress != vidaActual) {
+            ObjectAnimator.ofInt(barraVida, "progress", barraVida.progress, vidaActual).apply {
+                duration = 1000
+                start()
+            }
+        }
+        barraVida.max = vidaMax
         ataqueText.text = "${GameState.jugador.atributos[Atributo.Ataque]}"
-
         investigacionText.text = "${GameState.jugador.atributos[Atributo.Investigacion]}"
-
-        val vidaInfo =
-            "${GameState.jugador.atributos[Atributo.Vida]}/${GameState.jugador.vidaMax}"
+        val vidaInfo = "$vidaActual/$vidaMax"
         vidaText.text = vidaInfo
-
-        val energiaInfo =
-            "${GameState.jugador.atributos[Atributo.Energia]}/${GameState.jugador.energiaMax}"
+        val energiaMax = GameState.jugador.energiaMax
+        val energiaActual = GameState.jugador.atributos[Atributo.Energia]!!
+        if (barraEnergia.progress != energiaActual) {
+            ObjectAnimator.ofInt(barraEnergia, "progress", barraEnergia.progress, energiaActual).apply {
+                duration = 500
+                start()
+            }
+        }
+        barraEnergia.max = energiaMax
+        val energiaInfo = "$energiaActual/$energiaMax"
         energiaText.text = energiaInfo
     }
 
     fun actualizarEstadisticasEvento() {
-
         val barraEvento = context!!.findViewById<ProgressBar>(R.id.barraEvento)
         barraEvento.max = GameState.eventoActual.resistenciaMax
         barraEvento.progress = GameState.eventoActual.resistenciaActual