Bir Bileşen Al
Coddy'nin Unity Journey'sinin Unity'de Script Yazmanın Temelleri bölümünün bir parçası. Ders 44 / 85.
Bir GameObject, bir Transform, onu çizen bir MeshRenderer, bir çarpıştırıcı ve betikleriniz gibi bileşenleri barındırır. GetComponent<Renderer>(), aynı nesne üzerindeki bu türden bileşeni döndürür; betiğiniz de bu bileşenin ne yaptığını değiştirmek için onu kullanır. transform, Transform için kullanıma hazır bir kısayoldur; diğer tüm bileşenleri kendiniz alırsınız.
Bu küp, Space'e basıldığında kırmızıya döner. Renderer bileşenini bir kez, Start() içinde bulur ve bir alanda saklar: GetComponent her çağrıldığında nesnenin bileşenlerini arar ve sonuç değişmez.
Renderer rend;
void Start()
{
rend = GetComponent<Renderer>();
}
void Update()
{
if (Input.GetKeyDown(KeyCode.Space))
{
rend.material.color = Color.red;
}
}rend.material, ilk kullandığınızda bu nesneye kendi materyal kopyasını verir; böylece materyali paylaşan diğer nesnelerin rengi aynı kalır. Unity bazı renkleri sizin için adlandırır; örneğin Color.red, Color.green, Color.blue, Color.yellow ve Color.gray; new Color(r, g, b) ise 0 ile 1 arasında değer alan her bir bileşenle başka herhangi bir rengi oluşturur.
Görev
OrtaHer tıklama sinyal lambasını bir sonraki renge geçirir: kırmızı, sarı, yeşil, sonra tekrar kırmızı.
- Bir
Renderer rend;alanı ekleyin veStart()içindeGetComponent<Renderer>()ile değer atayın. Input.GetMouseButtonDown(0)olduğunda,int stepalanına 1 ekleyin ve 3'e ulaştığında tekrar 0 olarak ayarlayın.- 0, 1 veya 2. adım için
rend.material.colordeğerini sırasıylaColor.red,Color.yellowveyaColor.greenolarak ayarlayın.
“Oyna” düğmesine basın ve oyuna tıklayın: ışığın rengi değişir. Ardından “Kontrol et” düğmesine basın.
Kendin dene
using UnityEngine;
public class SignalLight : MonoBehaviour
{
void Start()
{
}
void Update()
{
// Her tıklamada: kırmızı, ardından sarı, ardından yeşil, sonra tekrar kırmızı
}
}
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ı3Inspector
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