Izgarada Nesne Oluşturma
Coddy'nin Unity Journey'sinin Unity'de Script Yazmanın Temelleri bölümünün bir parçası. Ders 64 / 85.
Bir döngünün içinde başka bir döngü, bir ızgaradaki her hücreyi ziyaret eder: dıştaki döngü bir sütun seçer, içteki döngü sütun boyunca ilerler. İçine bir Instantiate koyarsan her hücreye bir nesne eklenir. Böylece 2 birim genişliğindeki karolardan 3'e 3'lük bir zemin oluşturulur; karoların arasında 2 birim boşluk 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ına 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. Üst nesnesi olmayan dokuz Tile(Clone) nesnesi Hierarchy'yi karmaşıklaştırır; transform değerini iletmek, bu nesneleri scriptin bağlı olduğu Floor nesnesinin altına yerleştirir. Böylece bunları daraltabilir, birlikte taşıyabilir veya birlikte silebilirsin. İlettiğin konum hâlâ dünya konumudur.
Görev
Orta4 genişliğinde ve 5 yüksekliğinde bir Tuğla prefab duvarı oluştur.
Start()içinde,cdeğerini 0'dan 3'e kadar döngüye al ve bunun içinderdeğerini 0'dan 4'e kadar döngüye al.- İç döngüde
Instantiate(brickPrefab, new Vector3(-1.5f + c, 0.25f + r * 0.5f, 0), Quaternion.identity, transform)çağır. Son argüman, her tuğlayı Wall'un alt öğesi yapar.
“Oyna” düğmesine bas: yerde 20 tuğladan oluşan bir duvar durur. Ardından “Kontrol et” düğmesine 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'un bir alt nesnesi
}
}
Unity'de Script Yazmanın Temelleri bölümündeki tüm dersler
1Unity'de C# Temelleri
Merhaba, UnityDeğişkenlerOndalık Sayılar için f GerekirKonsolda MetinHatırlayan DeğişkenlerEğer ve DeğilseSayıları KarşılaştırmaTekrar: Coin Collector4Girdi
Basılı, Basılı Tutulmuş, BırakılmışEksenlerAdlandırılmış DüğmelerFare DüğmeleriTekrar: Zıplama Yükleme7Döngüler ve Metotlar
for ile tekrarlamaİç içe döngülerBir metot yazmaYanıt veren metotlarDizilerTekrar: Merdiven10Nesneleri Bulma
Ada Göre BulEtiketlerTüre Göre BulReferanslar Bulmaktan İyidirUnity'de NullÖzet: En Yakın Madeni Para13Proje: Bloklardan Kaç
KoşucuGökyüzünden Bloklar5Vektörler
Vektörleri ToplamaYönlerYerel ve Dünya UzayıÇapraz HızNesneler Arasındaki MesafeVector3 Bir Struct'tırTekrar: Drone Pilotu8GameObject'ler ve Bileşenler
Inspector'daki ReferanslarBir Bileşen AlEksik BileşenlerBileşen EkleRequireComponentGöster ve GizleÖzet: Işık Anahtarı11Prefab'ler ve Nesne Oluşturma
Prefab'ler ve InstantiateZamanlayıcıyla Nesne OluşturmaIzgarada Nesne OluşturmaNesne ListeleriEn Yeniyi Geri AlmaYok EtmeRastgele Nesne OluşturmaTekrar: Havai Fişekler3Inspector
Inspector AlanlarıSerializeFieldOndalıklı Sayılar ve MathfInspector ÖzellikleriTekrar: Asansör6Dönüşümler ve Hiyerarşi
Ebeveynler ve ÇocuklarBayrağı Göndere ÇekÖlçekNesnelere BakBir Noktaya Doğru Hareket EtTekrar: Yörüngedeki Ay9Proje: Yıldızı Yakala
YakalayıcıDüşen Bir YıldızKendi başına pratik yap: Unity playground