"Enter"a basıp içeriğe geçin

Unity’de Time.deltaTime, Time.time, ve Time.timeScale Kullanımı

Merhaba okurlar. Bu yazıda Unity’de Time.deltaTime, Time.time, Time.timeScale kulanımlarını anlatacağım. Unity’nin zamanla ilgili işlevlerinden üçü, Time.deltaTime, Time.time ve Time.timeScale’dir. Bu yazıda, bu üç zaman işlevinin kullanımını detaylı bir şekilde anlatacağım ve örneklerle göstereceğim.

Unity’de Time.time Kullanımı

Time.time, oyundaki toplam geçen süreyi saniye olarak temsil eden bir float değerini döndürür. Bu zaman işlevi, oyun dünyasının başlangıcından bu yana geçen süreyi takip etmek için kullanılabilir. Örneğin, bir oyunun toplam oyun süresini göstermek için Time.time kullanılabilir.

void Update()
{
    float totalTime = Time.time;
    Debug.Log("Toplam Geçen Süre: " + totalTime);
}

Yukarıdaki örnekte, her güncelleme döngüsünde toplam geçen süre hesaplanır ve konsola yazdırılır.

Unity’de Time.deltaTime Kullanımı

Time.deltaTime, oyun frameleri arasındaki zaman farkını temsil eden bir float değeridir. Bu zaman işlevi, oyunun akıcılığını ve hareketin tüm cihazlarda aynı hızda gerçekleşmesini sağlar. Örneğin, bir nesnenin belirli bir hızda hareket etmesini hesaplamak için Time.deltaTime kullanılabilir.

public float speed = 5f;

void Update()
{
    float movement = speed * Time.deltaTime;
    transform.Translate(Vector3.forward * movement);
}

Yukarıdaki örnekte, bir nesne belirli bir hızda ileri doğru hareket ederken Time.deltaTime kullanılarak her çerçevedeki hareket miktarı hesaplanır.

Unity’de Time.timeScale Kullanımı

Time.timeScale, oyun zamanının normal hızının bir ölçüsünü temsil eden bir float değeridir. Varsayılan değeri 1’dir ve normal zamanda işleri gerçekleştirir. Time.timeScale’i değiştirerek oyun hızını artırabilir veya azaltabiliriz. Örneğin, yavaş bir zaman efekti oluşturmak için Time.timeScale’ı istediğimiz değere ayarlayabiliriz.

void Update()
{
    if (Input.GetKeyDown(KeyCode.Space))
    {
        if (Time.timeScale == 1f)
            Time.timeScale = 0.5f; // Oyunu yavaşlat
        else
            Time.timeScale = 1f; // Normal hıza geri dön
    }
}

Yukarıdaki örnekte, Space tuşuna basıldığında oyun zamanının hızını yavaşlatır veya normal hıza geri döneriz.

Unity’de Time.deltaTime, Time.time ve Time.timeScale kullanmak, oyun geliştirmeye ek bir esneklik ve kontrol sağlar. Bu yazıda örneklerle birlikte bu zaman işlevlerinin temel kullanımlarını öğrendiniz. Yukarıdaki bilgiler, Unity oyun geliştirirken zaman ile ilgili işlevleri anlamak için iyi bir başlangıç noktasıdır.

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Bu site, istenmeyenleri azaltmak için Akismet kullanıyor. Yorum verilerinizin nasıl işlendiği hakkında daha fazla bilgi edinin.