Xóa đối tượng mới nhất
Thuộc phần Những kiến thức cơ bản về lập trình trong Unity trong hành trình Unity của Coddy. Bài học 66 trên 85.
Phần tử mới nhất của danh sách nằm ở cuối danh sách, tại chỉ số Count - 1. Xóa phần tử đó bằng Remove, và trước tiên hãy kiểm tra Count > 0: danh sách rỗng thì không có phần tử cuối cùng, còn đọc phần tử đó sẽ khiến tập lệnh dừng với lỗi ArgumentOutOfRangeException.
if (coins.Count > 0)
{
GameObject last = coins[coins.Count - 1];
coins.Remove(last);
Destroy(last);
}Xóa một phần tử khỏi danh sách không ảnh hưởng đến đối tượng trong cảnh: bạn cần tự ẩn hoặc hủy đối tượng đó.
Thử thách
Trung bìnhDùng Space để thu hồi chiếc hộp mới nhất.
- Trong
Update(), khiInput.GetKeyDown(KeyCode.Space)và chỉ khiboxes.Count > 0, lấyGameObject newest = boxes[boxes.Count - 1];. - Ẩn hộp đó bằng
newest.SetActive(false);rồi xóa hộp khỏi danh sách bằngboxes.Remove(newest);. - Ghi nhật ký
"Boxes: " + boxes.Count.
Nhấn Chơi, nhấp ba lần, rồi nhấn Space: chiếc hộp cuối cùng biến mất. Sau đó nhấn Kiểm tra.
Tự làm thử
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: ẩn hộp mới nhất và xóa hộp đó khỏi danh sách
}
}
Tất cả bài học trong Những kiến thức cơ bản về lập trình trong Unity
1C# cơ bản trong Unity
Xin chào, UnityBiếnSố thập phân cần có fVăn bản trong ConsoleBiến có thể ghi nhớIf và elseSo sánh các sốÔn tập: Thu thập xu7Vòng lặp và phương thức
Lặp lại với forVòng lặp lồng nhauViết phương thứcPhương thức trả lờiMảngÔn tập: Cầu thang2Làm cho nó chuyển động
Đặt khối lập phươngDi chuyển theo từng khung hìnhXoay mỗi giâyĐiều khiển bằng các phímÔn tập: Lái khối lập phương5Vectơ
Cộng vectơPhương hướngKhông gian cục bộ và không gian thế giớiTốc độ theo đường chéoKhoảng cách giữa các vậtVector3 là một structÔn tập: Người điều khiển drone8GameObject và thành phần
Tham chiếu trong InspectorLấy một thành phầnThành phần bị thiếuThêm một thành phầnRequireComponentHiện và ẩnÔn tập: Công tắc đèn11Prefab và tạo đối tượng
Prefab và InstantiateTạo đối tượng theo bộ hẹn giờTạo đối tượng theo lướiDanh sách đối tượngXóa đối tượng mới nhấtHủy đối tượngTạo đối tượng ngẫu nhiênÔn tập: Pháo hoa3Inspector
Các trường trong InspectorSerializeFieldSố thực và MathfThuộc tính trong InspectorÔn tập: thang máy6Biến đổi và hệ phân cấp
Đối tượng cha và conKéo cờ lênTỷ lệNhìn vào các vật thểDi chuyển đến một điểmÔn tập: Mặt trăng quay quanh9Dự án: Bắt lấy ngôi sao
Người bắt saoNgôi sao rơiTự luyện tập: Playground Unity