Eliminare il più recente
Fa parte della sezione Fondamenti di scripting in Unity del percorso Unity di Coddy. Lezione 66 di 85.
L'elemento più recente di un elenco è il suo ultimo elemento, all'indice Count - 1. Rimuovilo con Remove e verifica prima Count > 0: in un elenco vuoto non c'è un ultimo elemento e leggerne uno interrompe lo script con un'ArgumentOutOfRangeException.
if (coins.Count > 0)
{
GameObject last = coins[coins.Count - 1];
coins.Remove(last);
Destroy(last);
}Rimuovere un elemento dall'elenco non modifica l'oggetto nella scena: nascondilo o distruggilo tu.
Sfida
MedioFai in modo che la barra spaziatrice rimuova la scatola più recente.
- In
Update(), quando viene premutoInput.GetKeyDown(KeyCode.Space)e solo seboxes.Count > 0, recuperaGameObject newest = boxes[boxes.Count - 1];. - Nascondila con
newest.SetActive(false);e rimuovila conboxes.Remove(newest);. - Registra
"Boxes: " + boxes.Count.
Premi «Gioca», fai clic tre volte, poi premi la barra spaziatrice: l’ultima scatola scompare. Poi premi «Verifica».
Provalo tu
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: nascondi il box più recente e rimuovilo dalla lista
}
}
Tutte le lezioni di Fondamenti di scripting in Unity
1Nozioni di base di C# in Unity
Ciao, UnityVariabiliI numeri decimali richiedono una fTesto nella ConsoleVariabili che ricordanoIf ed ElseConfrontare i numeriRipasso: il collezionista di monete7Cicli e metodi
Ripeti con forCicli annidatiScrivere un metodoMetodi che restituiscono valoriArrayRiepilogo: scala10Trovare gli oggetti
Trovare per nomeTagTrovare per tipoI riferimenti battono la ricercaIl null di UnityRipasso: la moneta più vicina13Progetto: Schiva i blocchi
Il corridoreBlocchi dal cielo2Fallo muovere
Posiziona il cuboMuovilo a ogni frameRuotalo ogni secondoGuidalo con i tastiRiepilogo: guida il cubo5Vettori
Somma di vettoriDirezioniSpazio locale e spazio mondoVelocità diagonaleDistanza tra gli oggettiVector3 è una structRiepilogo: pilota di droni8GameObject e componenti
Riferimenti nell'InspectorOttenere un componenteComponenti mancantiAggiungere un componenteRequireComponentMostrare e nascondereRiepilogo: interruttore della luce11Prefab e generazione di oggetti
Prefab e InstantiateGenerare con un timerGenerare in una grigliaElenchi di oggettiEliminare il più recenteDestroyGenerazioni casualiRipasso: fuochi d'artificio3L’Inspector
Campi dell’InspectorSerializeFieldNumeri decimali e MathfAttributi dell’InspectorRiepilogo: ascensore6Trasformazioni e gerarchia
Genitori e figliIssare la bandieraScalaOsservare gli oggettiMuoversi verso un puntoRiepilogo: Luna in orbita9Progetto: Acchiappa la stella
Il raccoglitoreUna stella cadente12Il ciclo di vita dello script
Awake e StartUpdate e LateUpdateOnEnable e OnDisableL'ordine del ciclo di vitaRiepilogo: Lifecycle LoggerEsercitati da solo: Playground Unity