Vòng lặp lồng nhau
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 38 trên 85.
Một hàng cần một vòng lặp. Cả tầng gồm các hàng và cột cần một vòng lặp bên trong một vòng lặp:
for (int column = 0; column < 3; column++)
{
for (int row = 0; row < 2; row++)
{
Debug.Log(column + ", " + row);
}
}Với mỗi lần lặp của vòng lặp bên ngoài, vòng lặp bên trong chạy hết các lượt. Vì vậy, đoạn code này in ra 0, 0 và 0, 1, rồi đến 1, 0 và 1, 1, sau đó là 2, 0 và 2, 1: 3 cột nhân với 2 hàng, tổng cộng 6 dòng.
Hai vòng lặp cần bộ đếm có tên khác nhau. Ở đây, chúng được đặt tên theo thứ mà chúng đếm, column và row, giúp đoạn code dễ đọc hơn so với i và j.
Thử thách
Trung bìnhLát một mặt sàn gồm 12 viên gạch: 4 cột, 3 hàng.
- Trong
Start(), thayPlaceTile(0, 0);bằngfor (int column = 0; column < 4; column++). - Bên trong dấu ngoặc nhọn của vòng lặp, viết
for (int row = 0; row < 3; row++), rồi gọiPlaceTile(column, row);bên trong vòng lặp lồng nhau đó.
Nhấn “Chơi”: mặt sàn gồm 4 cột và 3 hàng gạch sẽ xuất hiện. Sau đó nhấn “Kiểm tra”.
Tự làm thử
using UnityEngine;
public class TileFloor : MonoBehaviour
{
void Start()
{
// Xếp các ô gạch thành 4 cột và 3 hàng.
PlaceTile(0, 0);
}
void PlaceTile(int column, int row)
{
GameObject tile = GameObject.CreatePrimitive(PrimitiveType.Cube);
tile.name = "Tile";
tile.transform.position = new Vector3(column * 1.1f - 1.65f, 0.1f, row * 1.1f);
tile.transform.localScale = new Vector3(1, 0.2f, 1);
tile.GetComponent<Renderer>().material.color = new Color(0.85f, 0.85f, 0.9f);
}
}
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