Menu
CoddyTech

İç içe döngüler

Coddy'nin Unity Journey'sinin Unity'de Script Yazmanın Temelleri bölümünün bir parçası. Ders 38 / 85.

Bir satır için bir döngü gerekir. Tüm bir kat için, satırlar ve sütunlarla birlikte, iç içe geçmiş bir döngü gerekir:

for (int column = 0; column < 3; column++)
{
    for (int row = 0; row < 2; row++)
    {
        Debug.Log(column + ", " + row);
    }
}

Dış döngünün her turunda iç döngü baştan sona çalışır. Bu nedenle 0, 0 ve 0, 1, ardından 1, 0 ve 1, 1, sonra da 2, 0 ve 2, 1 yazdırır: 3 sütun çarpı 2 satır, toplam 6 satır.

İki döngünün sayaçlarının farklı adları olmalıdır. Burada saydıkları şeylere göre column ve row adları verilmiş; bu da kodu i ve j adlarından daha kolay okunur hâle getirir.

challenge icon

Görev

Orta

12 karodan oluşan bir zemin döşe: 4 sütun, 3 satır.

  1. Start() içinde PlaceTile(0, 0); ifadesini for (int column = 0; column < 4; column++) ile değiştir.
  2. Süslü parantezlerinin içine for (int row = 0; row < 3; row++) yaz ve bu iç döngünün içinde PlaceTile(column, row); çağrısını yap.

“Oyna” düğmesine bas: 4'e 3 karodan oluşan bir zemin belirir. Ardından “Kontrol et” düğmesine bas.

Kendin dene

using UnityEngine;

public class TileFloor : MonoBehaviour
{
    void Start()
    {
        // 4 sütun ve 3 satır karo döşe.
        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);
    }
}

Unity'de Script Yazmanın Temelleri bölümündeki tüm dersler

Kendi başına pratik yap: Unity playground