Ganhar ou Perder
Parte da seção Física e jogabilidade do Journey de Unity da Coddy. Lição 32 de 63.
Desafio
MédioÚltima etapa: uma forma de vencer. Mantenha tudo das etapas anteriores e adicione a Ball:
public int target = 10;(o Inspector define 8).- O jogo está em andamento enquanto
timeLefté maior que 0 escoreé menor quetarget. Escreva isso como um método,bool IsPlaying(), e use-o: o relógio faz a contagem regressiva, as setas empurram e as moedas aumentam a pontuação somente enquanto o jogo está em andamento. - Quando uma moeda elevar
scoreatétargetou mais, registreYou win!após a linha da pontuação. - Quando o tempo acabar primeiro, registre
You lose!após a linhaTime's up!.
Pressione Play e alcance 8 pontos antes que o tempo acabe; depois, Check.
Experimente você mesmo
using UnityEngine;
public class Ball : MonoBehaviour
{
public float force = 10f;
public int score;
public float timeLimit = 60f;
public float timeLeft;
private Rigidbody rb;
void Start()
{
rb = GetComponent<Rigidbody>();
timeLeft = timeLimit;
}
void Update()
{
if (timeLeft > 0f)
{
timeLeft -= Time.deltaTime;
if (timeLeft <= 0f)
{
timeLeft = 0f;
Debug.Log("Time's up! Score: " + score);
}
}
}
void FixedUpdate()
{
if (timeLeft > 0f)
{
float x = Input.GetAxis("Horizontal");
float z = Input.GetAxis("Vertical");
rb.AddForce(new Vector3(x, 0f, z) * force);
}
}
public void AddScore(int points)
{
score += points;
Debug.Log("Score: " + score);
}
}
Todas as lições de Física e jogabilidade
1Rigidbody
Gravidade e MassaEmpurrar com AddForcePular com um ImpulsoFixedUpdate para FísicaVelocidadeCorpos CinemáticosRevisão: Plataforma de Lançamento2Colisões
OnCollisionEnterO que eu acertei?Quebre no impactoNo chãoQuique e atritoFormas dos collidersRevisão: Parede destrutível5Projeto: Corrida das Moedas
A Bola RolanteMoedas para Coletar