Menu
CoddyTech

Izgarada Nesne Oluşturma

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

Bir döngünün içinde başka bir döngü, bir ızgaradaki her hücreyi ziyaret eder: dış döngü bir sütun seçer, iç döngü boyunca ilerler. İçine bir Instantiate koyduğunda her hücreye bir nesne yerleştirilir. Bu, 2 birim genişliğindeki karolardan 3'e 3'lük bir zemin oluşturur; böylece karolar arasında 2 birim mesafe olur:

public GameObject tilePrefab;

void Start()
{
    for (int x = 0; x < 3; x++)
    {
        for (int z = 0; z < 3; z++)
        {
            Vector3 spot = new Vector3(x * 2, 0, z * 2);
            Instantiate(tilePrefab, spot, Quaternion.identity, transform);
        }
    }
}

Karolar x = 0, 2, 4 ve z = 0, 2, 4 konumlarına yerleşir: (0, 0, 0) ile (4, 0, 4) arasında toplam dokuz karo. Döngüler Start() içinde bir kez çalışır. Update() içinde olsalardı her karede dokuz karo daha eklerlerdi.

Dördüncü argüman bir üst nesnedir. Bağımsız dokuz Tile(Clone) nesnesi Hierarchy'yi karmaşıklaştırır; transform geçirmek, onları bu betiğin bulunduğu nesnenin, yani Floor'un altına yerleştirir. Böylece bu nesneleri gruplar halinde daraltabilir, birlikte taşıyabilir veya birlikte silebilirsin. Geçirdiğin konum yine de dünya konumudur.

challenge icon

Görev

Orta

Yerde duran, Brick prefab'ını kullanarak 4 tuğla genişliğinde ve 5 sıra yüksekliğinde bir tuğla duvar inşa et. Bir tuğla 1 birim genişliğinde ve 0.5 birim yüksekliğindedir.

  • 4 sütun x = -1.5, -0.5, 0.5 ve 1.5 konumlarındadır.
  • En alttaki sıra yere oturur, bu nedenle tuğlaları y = 0.25 konumundadır. Her sıra, altındaki sıradan 0.5 birim yukarıdadır.
  • Her tuğla z = 0 konumundadır, dönüşü yoktur ve bu betiğin bağlı olduğu nesne olan Wall'un alt nesnesidir.

Duvarı görmek için Play'e, ardından Check'e bas.

Kendin dene

using UnityEngine;

public class WallBuilder : MonoBehaviour
{
    public GameObject brickPrefab;

    void Start()
    {
        // 4 sütun ve 5 sıra tuğla, her biri bu Wall nesnesinin alt nesnesi
    }
}
quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

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