Menu
CoddyTech

Ambil Kembali Objek Terbaru

Termasuk bagian Dasar-Dasar Scripting Unity dalam perjalanan Unity di Coddy. Pelajaran 66 dari 85.

Item terbaru dalam sebuah list adalah item terakhirnya, pada indeks Count - 1. Ambil item itu dengan Remove, dan periksa Count > 0 terlebih dahulu: dalam list kosong tidak ada item terakhir, dan membaca item tersebut akan menghentikan skrip dengan ArgumentOutOfRangeException.

if (coins.Count > 0)
{
    GameObject last = coins[coins.Count - 1];
    coins.Remove(last);
    Destroy(last);
}

Menghapus item dari list tidak memengaruhi object di scene: sembunyikan atau hancurkan sendiri.

challenge icon

Tantangan

Sedang

Buat tombol Space mengambil kembali kotak terbaru.

  1. Di Update(), saat Input.GetKeyDown(KeyCode.Space) dan hanya ketika boxes.Count > 0, ambil GameObject newest = boxes[boxes.Count - 1];.
  2. Sembunyikan dengan newest.SetActive(false); dan keluarkan dengan boxes.Remove(newest);.
  3. Catat "Boxes: " + boxes.Count.

Tekan tombol “Main”, klik tiga kali, lalu tekan Space: kotak terakhir menghilang. Lalu tekan tombol “Periksa”.

Coba sendiri

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: sembunyikan kotak terbaru dan hapus dari list
    }
}

Semua pelajaran di Dasar-Dasar Scripting Unity

Latihan sendiri: Playground Unity