Trzy życia
Część sekcji Podstawy skryptów w Unity ścieżki Unity w Coddy. Lekcja 41 z 67.
Wyzwanie
ŚredniTrzy pudła kończą grę. Dodaj [SerializeField] private int lives (scena ustawia tę wartość na 3).
- Każda nie złapana gwiazdka kosztuje jedno życie i powoduje wyświetlenie w logu
Missed! Lives: 2, gdzie liczba oznacza pozostałe życia. - Gdy liczba żyć osiągnie 0, wyświetl w logu również
Game overi wyłącz skrypt za pomocąenabled = false. Unity przestaje wywoływaćUpdate()w wyłączonym skrypcie, więc gwiazdka się zatrzymuje, a łapacz przestaje się poruszać.
Złapanie gwiazdki nadal zwiększa wynik i przyspiesza spadanie gwiazdek. Zachowaj wszystko z poprzednich kroków.
Spróbuj swoich sił
using UnityEngine;
public class Catcher : MonoBehaviour
{
[SerializeField] private float speed = 6f;
[SerializeField] private Transform star;
[SerializeField] private float fallSpeed = 3f;
[SerializeField] private float speedUp = 0.5f;
private int score;
void Update()
{
float x = transform.position.x;
if (Input.GetKey(KeyCode.RightArrow))
{
x += speed * Time.deltaTime;
}
if (Input.GetKey(KeyCode.LeftArrow))
{
x -= speed * Time.deltaTime;
}
x = Mathf.Clamp(x, -4f, 4f);
transform.position = new Vector3(x, transform.position.y, transform.position.z);
star.position += Vector3.down * fallSpeed * Time.deltaTime;
if (Vector3.Distance(transform.position, star.position) < 1f)
{
score++;
fallSpeed += speedUp;
Debug.Log("Caught! Score: " + score);
ResetStar();
}
else if (star.position.y < 0f)
{
ResetStar();
}
}
void ResetStar()
{
star.position = new Vector3(Random.Range(-4f, 4f), 6f, 0f);
}
}
Wszystkie lekcje w sekcji Podstawy skryptów w Unity
1Twój pierwszy skrypt
Witaj, UnityUmieść sześcianPoruszaj się w każdej klatceObracaj się co sekundęSteruj za pomocą klawiszyPodsumowanie: Prowadź sześcian2Inspektor
Pola inspektoraSerializeFieldLiczby zmiennoprzecinkowe i MathfAtrybuty inspektoraPodsumowanie: Winda5Transformacje i hierarchia
Rodzice i dzieciSkalaPatrz na obiektyPoruszanie się w kierunku punktuPodsumowanie: Księżyc krążący po orbicie3Wejście
Naciśnięty, przytrzymany, zwolnionyOsiePrzyciski o nazwachPrzyciski myszyPowtórka: naładowany skok6Obiekty gry i komponenty
Referencje w InspectorzePobieranie komponentuBrakujące komponentyDodawanie komponentuRequireComponentPokazywanie i ukrywaniePodsumowanie: włącznik światła