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.