Çözüldü Kodlar doğru zamanlı çalışmıyor

Bu konu çözüldü olarak işaretlenmiştir. Çözülmediğini düşünüyorsanız konuyu rapor edebilirsiniz.

emirt76

Hectopat
Katılım
19 Temmuz 2021
Mesajlar
7
Daha fazla  
Cinsiyet
Erkek
Bir gameobject için mousebuttondown komutu ekledim. Bu koda göre farede her sol tık basıldığında bir sahte kare oluşacak, bırakıldığında ise oluşan kare yok olacak. Eğer kare düşmana çarpıyor ise düşmanın canı azalacak ve düşman inaktif pozisyona geçecek.

Ancak kodda şöyle bir sorun var ki, mouse sol tıkına bastığımda bazen bahsettiğim hayali kare oluşuyor bazen ise oluşmuyor. Spamladığımda bile arada sırada çalışıyor. Aynı sorun etkileşilen maddelerde de oluyor. E tuşuna bastığımda karakterin belli bir objeyi aktifleştirmesi lazım ve aktifleşen madde eğer yerdeki nesne ile etkileşiyorsa onu yerden alıp kendinde halihazırda bulunan nesneyi aktifleştirmesi lazım, ancak ilk basışımda bu olayın gerçekleşmesi lazımken bazen 3-4 kere basınca oluyor bazen tek seferde oluyor bazense hiç olmuyor. Acaba bu algılamama veya gecikme durumunun (sorunun ne olduğu hakkında en ufak fikrim yok) çözümünü bileniniz var mıdır?

Şimdiden teşekkürler.
 

Dosya Ekleri

  • png1.png
    png1.png
    56,8 KB · Görüntüleme: 36
  • png2.png
    png2.png
    79,7 KB · Görüntüleme: 36
  • png3.png
    png3.png
    98,1 KB · Görüntüleme: 35
Çözüm
Kodu FixedUpdate içerisinde çalıştırırsanız saniyede sınırlı kez sorgulanır, Update() içerisinde çalıştırın.

Fizik işlemleri FixedUpdate'de Input işlemleri Update'de alınır.
Benim bildiğim ilk fotoda else çalışmaz,
if (Input.GetKeyDown(KeyCode.Mouse0))
{
} else {
}

else if ile Input.GetKeyUp demen lazım.
Kod:
if (Input.GetKeyDown(KeyCode.Mouse0))
{
    Debug.Log("Mouse button pressed");
}
else if (Input.GetKeyUp(KeyCode.Mouse0))
{
    Debug.Log("Mouse button released");
}
 

Technopat Haberler

Yeni konular

Yeni mesajlar

Geri
Yukarı