Menu
CoddyTech

Revisão: Bullet Time

Parte da seção Criando jogos de verdade do Journey de Unity da Coddy. Lição 36 de 56.

challenge icon

Desafio

Médio

Dê ao jogo o efeito de tempo de bala, controlado por uma barra de foco. Crie BulletTime.cs no objeto Game. No Inspector, defina slowScale (0.2), maxFocus (2), recharge (0.5) e focusBar, a Image preenchida na parte superior da tela. Mantenha o medidor no float focus.

  • focus começa cheio, em maxFocus.
  • Enquanto a tecla Space estiver pressionada e focus for maior que 0, o jogo funciona em slowScale, com o passo da física reduzido pelo mesmo fator a partir de 0.02, e focus diminui 1 a cada segundo real, nunca ficando abaixo de 0.
  • No restante do tempo, o jogo funciona na velocidade normal, com um passo da física de 0.02. Um medidor vazio encerra o tempo de bala mesmo que Space continue pressionada.
  • Enquanto Space não estiver pressionada, focus recarrega recharge a cada segundo real, até maxFocus.
  • A cada quadro, fillAmount da barra é igual a focus dividido por maxFocus.

Pressione Play, mantenha Space pressionada e observe a chuva; depois, Check.

Experimente você mesmo

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 as lições de Criando jogos de verdade