Remover o mais recente
Parte da seção Fundamentos de Scripting no Unity do Journey de Unity da Coddy. Lição 66 de 85.
O item mais recente de uma lista é o último, no índice Count - 1. Remova-o com Remove e verifique primeiro se Count > 0: em uma lista vazia, não há último item, e tentar acessá-lo interrompe o script com uma ArgumentOutOfRangeException.
if (coins.Count > 0)
{
GameObject last = coins[coins.Count - 1];
coins.Remove(last);
Destroy(last);
}Remover um item da lista não afeta o objeto na cena: oculte-o ou destrua-o você mesmo.
Desafio
MédioFaça com que a tecla Espaço remova a caixa mais recente.
- Em
Update(), quandoInput.GetKeyDown(KeyCode.Space)for verdadeiro e somente quandoboxes.Count > 0, obtenhaGameObject newest = boxes[boxes.Count - 1];. - Oculte-a com
newest.SetActive(false);e remova-a comboxes.Remove(newest);. - Registre
"Boxes: " + boxes.Count.
Pressione “Jogar”, clique três vezes e, em seguida, pressione Espaço: a última caixa desaparece. Depois, “Verificar”.
Experimente você mesmo
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: oculte a caixa mais recente e remova-a da lista
}
}
Todas as lições de Fundamentos de Scripting no Unity
1Fundamentos de C# no Unity
Olá, UnityVariáveisDecimais precisam de um fTexto no ConsoleVariáveis que guardam valoresIf e ElseComparar númerosRevisão: Coletor de Moedas7Laços e Métodos
Repita com forLaços dentro de laçosEscreva um métodoMétodos que respondemArraysRevisão: Escada10Encontrando coisas
Buscar pelo nomeTagsBuscar por tipoReferências são melhores que FindO null do UnityRevisão: moeda mais próxima13Projeto: Desvie dos Blocos
O CorredorBlocos do Céu2Faça-o se mover
Posicione o cuboMova a cada quadroGire a cada segundoDirija com as teclasRecapitulando: dirija o cubo5Vetores
Somando vetoresDireçõesEspaço local e globalVelocidade diagonalDistância entre objetosVector3 é uma structRevisão: piloto de drone8GameObjects e Componentes
Referências no InspectorObter um componenteComponentes ausentesAdicionar um componenteRequireComponentMostrar e ocultarRevisão: Interruptor de luz11Prefabs e geração de objetos
Prefabs e InstantiateGerar objetos com um temporizadorGerar objetos em uma gradeListas de objetosRemover o mais recenteDestruirGeração aleatória de objetosRevisão: fogos de artifício6Transformações e hierarquia
Pais e filhosIçar a bandeiraEscalaOlhar para as coisasMover-se em direção a um pontoRevisão: Lua em órbita9Projeto: Pegue a Estrela
O PegadorUma Estrela CadentePratique por conta própria: Playground de Unity