Mảng
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 41 trên 85.
Một mảng chứa nhiều giá trị cùng kiểu trên một hàng. Kiểu của mảng có dấu ngoặc vuông ở phía sau, còn các giá trị nằm giữa dấu ngoặc nhọn:
int[] scores = { 10, 25, 7 };Mỗi giá trị có một chỉ số, tức vị trí của nó trên hàng, và cách đếm bắt đầu từ 0: scores[0] là 10, scores[1] là 25 và scores[2] là 7. scores.Length cho biết có bao nhiêu giá trị, ở đây là 3. Truy cập scores[3] sẽ khiến tập lệnh dừng với lỗi IndexOutOfRangeException: không có giá trị thứ tư.
Vòng lặp for chạy đến Length sẽ duyệt mọi giá trị, bất kể mảng chứa gì:
for (int i = 0; i < scores.Length; i++)
{
Debug.Log("Score " + i + ": " + scores[i]);
}Khi không cần chỉ số, foreach ngắn gọn hơn: foreach (int s in scores) { Debug.Log(s); } chạy một lần cho mỗi giá trị, theo thứ tự.
Thử thách
Trung bìnhTạo đường chân trời dài 7 tòa tháp bằng một mảng và một vòng lặp.
- Thêm
6fvà2fvào cuốiheights:{ 2f, 5f, 3f, 1f, 4f, 6f, 2f }. - Thay dòng
PlaceTowerbằngfor (int i = 0; i < heights.Length; i++). - Bên trong vòng lặp, gọi
PlaceTower(i * 1.5f - 4.5f, heights[i]);.
Nhấn Chơi: bảy tòa tháp có chiều cao khác nhau đứng thành một hàng. Sau đó nhấn Kiểm tra.
Tự làm thử
using UnityEngine;
public class Skyline : MonoBehaviour
{
void Start()
{
float[] heights = { 2f, 5f, 3f, 1f, 4f };
// Đặt một tòa tháp cho mỗi giá trị chiều cao.
PlaceTower(-4.5f, heights[0]);
}
void PlaceTower(float x, float height)
{
GameObject tower = GameObject.CreatePrimitive(PrimitiveType.Cube);
tower.name = "Tower";
tower.transform.position = new Vector3(x, height / 2, 0);
tower.transform.localScale = new Vector3(1, height, 1);
tower.GetComponent<Renderer>().material.color = new Color(0.35f, 0.45f, 0.7f);
}
}
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 đèn3Inspector
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