Unity3D tuş geciktirme nasıl yapılır?

350070

Megapat
İlk 5 Haneli Mesajınız!
Katılım
6 Aralık 2017
Mesajlar
10.572
Makaleler
4
Çözümler
40
Merhaba.


IEnumerator yöntemi ile tuş geciktirmesi yapıyorum ama çok uğraştırıcı oluyor.

Bunun daha kısa yolu var mıdır?
 
C#:
         if (Input.GetKey(KeyCode.Space))
            {
                DOTween.Sequence().AppendInterval(2).AppendCallback(delegate
                {
                    // 2 saniye sonra yapilacak islem
                });
            }
Ben Dotween kullanıyorum, projende varsa bu tarz şeyler içinde kullanabilirsin.
 
C#:
         if (Input.GetKey(KeyCode.Space))
            {
                DOTween.Sequence().AppendInterval(2).AppendCallback(delegate
                {
                    // 2 saniye sonra yapilacak islem
                });
            }
Ben Dotween kullanıyorum, projende varsa bu tarz şeyler içinde kullanabilirsin.
10 ms geciktirsem yeter bana.

Simdi bu kod 2 sn bekliyor ve sonraki satirdan devam ediyor degil mi?
Bu satirin icine bir sey yazmam gerekmiyor yani.
 
10 ms geciktirsem yeter bana.

Simdi bu kod 2 sn bekliyor ve sonraki satirdan devam ediyor degil mi?
Bu satirin icine bir sey yazmam gerekmiyor yani.
O zaman 0.10f yazacaksın.
C#:
if (Input.GetKey(KeyCode.Space))
            {
                DOTween.Sequence().AppendInterval(2).AppendCallback(delegate
                {
                      Debug.Log("Space Tuşuna basıldıktan sonra 2 saniye geçti");
                });
                   Debug.Log("Space Tuşuna basıldı");
            }
2 saniye sonra yapılacak işlem dediğim kısımda Space tuşuna bastıktan 2 saniye sonra ne yapılmasını istiyorsan onları yaz. O parantezin dışındaki işlemler beklemeden aynen devam eder.
Sen space tuşuna bastığında ekranda Space Tuşuna basıldı yazar. 2 saniye geçtiğinde ise Space Tuşuna basıldıktan sonra 2 saniye geçti yazar.

ChatGPT yorumu:

1670561064180.png
 
O zaman 0.10f yazacaksın.
C#:
if (Input.GetKey(KeyCode.Space))
            {
                DOTween.Sequence().AppendInterval(2).AppendCallback(delegate
                {
                      Debug.Log("Space Tuşuna basıldıktan sonra 2 saniye geçti");
                });
                   Debug.Log("Space Tuşuna basıldı");
            }
2 saniye sonra yapılacak işlem dediğim kısımda Space tuşuna bastıktan 2 saniye sonra ne yapılmasını istiyorsan onları yaz. O parantezin dışındaki işlemler beklemeden aynen devam eder.
Sen space tuşuna bastığında ekranda Space Tuşuna basıldı yazar. 2 saniye geçtiğinde ise Space Tuşuna basıldıktan sonra 2 saniye geçti yazar.

ChatGPT yorumu:

Eki Görüntüle 1597512
Daha güzelini buldum.
Arrow function ile tabi.
Bir sınıf yaptım ve her farklı .cs dosyasından rahatlıkla kullanılabiliyor.

C#:
float sure = 0.3f;
this.bekle(sure, () =>
           {
              Debug.Log($"{sure} kadar gecikti");
           });

şeklinde güzelce kullanılıyorum.
 

Geri
Yukarı