Menu
CoddyTech

Repaso: tiempo bala

Parte de la sección Creación de juegos reales del Journey de Unity de Coddy. Lección 36 de 56.

challenge icon

Desafío

Intermedio

Dale al juego un efecto de tiempo bala, impulsado por un medidor de concentración. Escribe BulletTime.cs en el objeto Game. En el Inspector se configuran slowScale (0.2), maxFocus (2), recharge (0.5) y focusBar, la Image rellena de la parte superior de la pantalla. Guarda el medidor en el float focus.

  • focus empieza lleno, en maxFocus.
  • Mientras se mantenga pulsada la tecla Space y focus sea mayor que 0, el juego se ejecuta a slowScale, con el paso de física reducido por el mismo factor a partir de 0.02, y focus se agota a razón de 1 por cada segundo real, sin bajar nunca de 0.
  • El resto del tiempo, el juego se ejecuta a velocidad normal con un paso de física de 0.02. Un medidor vacío termina el tiempo bala aunque se siga manteniendo pulsada la tecla Space.
  • Mientras no se mantenga pulsada la tecla Space, focus se recarga a razón de recharge por cada segundo real, hasta maxFocus.
  • En cada fotograma, fillAmount de la barra es focus dividido por maxFocus.

Pulsa Play, mantén pulsada la tecla Space y observa la lluvia; después, pulsa Check.

Pruébalo tú mismo

using UnityEngine;
using UnityEngine.UI;

public class BulletTime : MonoBehaviour
{
    public float slowScale = 0.2f;
    public float maxFocus = 2f;
    public float recharge = 0.5f;
    public Image focusBar;

    float focus;

    void Update()
    {
    }
}

Todas las lecciones de Creación de juegos reales