Menu
CoddyTech

Yakalayıcı

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

Bu bölümde küçük bir oyun olan Catch the Star oluşturuluyor; her derste bir özellik ekleniyor: bir yıldız düşüyor, sen de yakalayıcıyı altında sağa ve sola kaydırıyorsun, her yakalama puan kazandırıyor ve sonraki yıldızın daha hızlı düşmesini sağlıyor, üç kez kaçırınca oyun bitiyor. Bunların hepsi, yakalayıcının üzerindeki tek bir betikte, Catcher'da yer alıyor. İlk özellik hareket: yakalayıcı ok tuşlarıyla kayıyor ve zeminden hiç ayrılmıyor.

Bir sayıyı sınırlar içinde tutma işi Mathf.Clamp(value, min, max) metoduna aittir. Değer min değerinin altındaysa min, max değerinin üstündeyse max, diğer durumlarda ise değerin kendisini döndürür. Bu kamera, bir kulede oyuncuyu takip eder ama yüksekliği 2 ile 12 arasında kalır:

[SerializeField] private Transform player;

void Update()
{
    float y = Mathf.Clamp(player.position.y, 2f, 12f);
    transform.position = new Vector3(transform.position.x, y, transform.position.z);
}

Clamp yeni bir sayı döndürür ve kendi başına hiçbir şeyi değiştirmez; bu yüzden sonucu ataman gerekir. Tüm kare değişikliklerinden sonra ve konumu geri yazmadan önce clamp uygula; böylece hiçbir karede nesne sınırının ötesinde görünmez.

challenge icon

Görev

Orta

Yakalama çubuğunun (mavi çubuk) hareket etmesini sağla. Sağ ok tuşu basılı tutulduğunda sağa (+x yönünde), sol ok tuşu basılı tutulduğunda sola kayar; her iki durumda da hızı saniyede speed birimdir. y ve z değerleri hiç değişmez.

Zemin x = -5 ile x = 5 arasında uzanır ve yakalama çubuğu 2 birim genişliğindedir. Çubuğun tamamının her zaman zeminde kalması için x değerini sınırla.

Play'e bas, oyuna tıkla ve ok tuşlarını dene, ardından Check'e bas.

Kendin dene

using UnityEngine;

public class Catcher : MonoBehaviour
{
    [SerializeField] private float speed = 6f;

    void Update()
    {
        // Ok tuşları: x ekseni boyunca saniyede speed birim hızla kaydır.
        // Yakalayıcının tamamını zemin üzerinde tut (x, -5 ile 5 arasında; yakalayıcının genişliği 2 birim).
    }
}
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