Cofnij najnowszy
Część sekcji Podstawy skryptów w Unity ścieżki Unity w Coddy. Lekcja 66 z 85.
Najnowszy element listy to jej ostatni element, o indeksie Count - 1. Usuń go za pomocą Remove i najpierw sprawdź Count > 0: na pustej liście nie ma ostatniego elementu, a próba jego odczytania zatrzymuje skrypt i powoduje wyjątek ArgumentOutOfRangeException.
if (coins.Count > 0)
{
GameObject last = coins[coins.Count - 1];
coins.Remove(last);
Destroy(last);
}Usunięcie elementu z listy nie wpływa na obiekt w scenie: ukryj go lub zniszcz samodzielnie.
Wyzwanie
ŚredniUżyj spacji, aby usunąć najnowsze pudełko.
- W
Update(), przyInput.GetKeyDown(KeyCode.Space)i tylko wtedy, gdyboxes.Count > 0, pobierzGameObject newest = boxes[boxes.Count - 1];. - Ukryj je za pomocą
newest.SetActive(false);i usuń je za pomocąboxes.Remove(newest);. - Zapisz w logu
"Boxes: " + boxes.Count.
Naciśnij „Graj”, kliknij trzy razy, a następnie naciśnij spację: ostatnie pudełko zniknie. Następnie naciśnij „Sprawdź”.
Spróbuj swoich sił
using System.Collections.Generic;
using UnityEngine;
public class BoxStacker : MonoBehaviour
{
public GameObject boxPrefab;
List<GameObject> boxes = new List<GameObject>();
void Update()
{
if (Input.GetMouseButtonDown(0))
{
Vector3 spot = transform.position + new Vector3(boxes.Count * 1.5f, 0, 0);
GameObject box = Instantiate(boxPrefab, spot, Quaternion.identity);
boxes.Add(box);
Debug.Log("Boxes: " + boxes.Count);
}
// Space: ukryj najnowsze pudełko i usuń je z listy
}
}
Wszystkie lekcje w sekcji Podstawy skryptów w Unity
1Podstawy C# w Unity
Witaj, UnityZmienneLiczby dziesiętne wymagają fTekst w konsoliZmienne, które pamiętająIf i elsePorównywanie liczbPowtórka: Zbieracz monet4Wejście
Naciśnięty, przytrzymany, zwolnionyOsiePrzyciski z nazwamiPrzyciski myszyPowtórka: naładowany skok7Pętle i metody
Powtarzaj za pomocą forPętle wewnątrz pętliNapisz metodęMetody, które zwracają wynikTablicePowtórka: schody10Wyszukiwanie obiektów
Wyszukiwanie po nazwieTagiWyszukiwanie po typieReferencje lepsze niż wyszukiwanieNull w UnityPowtórka: najbliższa moneta13Projekt: Unikaj bloków
BiegaczBloki z nieba2Wpraw to w ruch
Umieść sześcianPoruszaj w każdej klatceObracaj co sekundęSteruj za pomocą klawiszyPodsumowanie: Prowadź sześcian5Wektory
Dodawanie wektorówKierunkiPrzestrzeń lokalna i globalnaPrędkość po przekątnejOdległość między obiektamiVector3 to strukturaPodsumowanie: pilot drona8Obiekty gry i komponenty
Referencje w InspectorzePobieranie komponentuBrakujące komponentyDodawanie komponentuRequireComponentPokazywanie i ukrywaniePowtórka: włącznik światła11Prefaby i tworzenie obiektów
Prefaby i InstantiateTworzenie obiektów według timeraTworzenie obiektów w siatceListy obiektówCofnij najnowszyNiszczenieLosowe tworzenie obiektówPowtórka: fajerwerkiPoćwicz samodzielnie: Edytor online Unity