Menu
CoddyTech

Duvar

Coddy'nin Unity Oyunu: Tuğla Kırma kursunda ders 5 / 19.

Tuğlalar bir ızgarada durur: yukarıdan aşağıya satırlar, soldan sağa sütunlar; her biri, iç içe iki döngüde oluşturulan Brick prefabının bir kopyasıdır. Önce bir satır:

float left = -(columns - 1) * spacingX / 2f;
for (int col = 0; col < columns; col++)
{
    Vector3 pos = new Vector3(left + col * spacingX, topY, 0f);
    Instantiate(brickPrefab, pos, Quaternion.identity, wall);
}

n sütun arasında n eksi 1 boşluk vardır; bu nedenle ilk sütun, (n - 1) * spacing değerinin yarısı kadar solda yer alır: Aralarında 2 birim olan 5 sütun -4, -2, 0, 2 ve 4 konumlarında durur. Her satır, bir öncekinin spacingY kadar altında yer alır. Instantiate işlevinin dördüncü argümanı üst nesnedir; bu nedenle her tuğla Wall nesnesinin altında bulunur. Prefab alanı için Brick gibi bir betik türü kullanıldığında Instantiate, yeni tuğlanın betiğini döndürür.

challenge icon

Görev

Orta

Ortalanmış bir tuğla duvarı oluştur.

  1. GameManager içine public Brick brickPrefab;, public Transform wall;, rows = 5, columns = 9, spacingX = 1.75f, spacingY = 0.75f, topY = 6f ekle.
  2. BuildWall(): Her satır ve sütun için wall altında bir tuğla; x değeri left + col * spacingX, y değeri topY - row * spacingY, z değeri 0 olacak şekilde ve left = -(columns - 1) * spacingX / 2f ile.
  3. Start(), BuildWall() metodunu çağırır.

“Oyna” düğmesine bas: 45 tuğla bir ızgarada durur (henüz kırılmazlar). Ardından “Kontrol et” düğmesine bas.

Kendin dene

using UnityEngine;

public class GameManager : MonoBehaviour
{
    public static GameManager Instance;

    void Awake()
    {
        Instance = this;
    }

    // Daha sonra: tuğla duvarı, skor, canlar ve seviyeler.
}

Unity Oyunu: Tuğla Kırma bölümündeki tüm dersler

Kendi başına pratik yap: Unity playground