Hey merhaba ziyaretçi bize destek olmak ister misin ? Hemen Kayıt Ol Seni hiç sıkmadan kayıt edeceğiz endişelenmek bize destek olduğun için teşekkürler.



  • Toplam: 0 Oy - Ortalama: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Birden Fazla Objeye Bir Animasyon Eklemek
#1
Merhabalar, oyunumda karakter altın objesini alınca MoveTowards fonksiyonuyla altın objesini belirlediğim bir noktaya götürüyorum. Belirli noktaya gelince de altını yok ediyorum. Burada şöyle bir sorunla karşılaştım. Bir altını alınca altının hareketinde bir sıkıntı olmuyor. Fakat arka arkaya birden fazla altın alınca yani bir altının hareketi bitmeden diğer altını alınca MoveTowards fonskiyonu düzgün bir şekilde çalışmıyor. Bu sorun yazdığım koddan dolayı böyle. Fakat aklıma başka bir algoritma gelmedi. Tavsiyeleriniz varsa yorum olarak yazarsanız sevinirim. Yazmış olduğum kod aşağıda yer alıyor. NOT : Bu kodun olduğu script dosyası karakterde ekli. Karakter altın objesiyle etkileşime girdiğinde coinAnimBool true oluyor.


Kod:
private void Update()
{
       if (coinAnimBool)
       {
           float step = speed * Time.deltaTime;
           coinObject.transform.position = Vector3.MoveTowards(coinObject.transform.position, target.position, step);

           if (target.position == coinObject.transform.position)
           {
               coinAnimBool = false;
               CoinTextUpdate();
               Destroy(coinObject);
           }
       }
}
  Cevapla
#2
Tam olarak sorunu anlamadım fakat animasyonlar genelde o anda objenin bulunduğu konuma göre oynuyor ve static değilse saçmalayabiliyor o yüzden direk animasyon yerine kod'la coin'in hareketini yapabilirsen sorunun ortadan kalkar gibi geliyor.
Bir gün her şey kodlanacak ... Idea

resim
  Cevapla
#3
OnTriggerEnter fonksiyonu işine yarar, bir araştır.
Linkleri görüntüleyebilmek için Kayıt ol manız veya Giriş yapmanız gerekiyor.Anlayışınız için teşekkürler.!
resim
  Cevapla
#4
(30-01-2018, Saat: 22:46)TheTudors Nickli Kullanıcıdan Alıntı: Linkleri görüntüleyebilmek için Kayıt ol manız veya Giriş yapmanız gerekiyor.Anlayışınız için teşekkürler.!Tam olarak sorunu anlamadım fakat animasyonlar genelde o anda objenin bulunduğu konuma göre oynuyor ve static değilse saçmalayabiliyor o yüzden direk animasyon yerine kod'la coin'in hareketini yapabilirsen sorunun ortadan kalkar gibi geliyor.

Merhabalar, animasyon derken animator veya animation componentlerini kullanmıyorum. Karakter altını aldığı zaman o altın objesini MoveTowards ile hareket ettiriyorum. Altının hareket kodunu da paylaştım zaten. Ard arda  altın aldığı zaman sıkıntı oluyor. Çünkü 1. altının hareketi bitmeden diğer altının hareketi aktif oluyor. Ve tüm altınlar için tek hareket kodu olduğundan saçmalıyor.

(31-01-2018, Saat: 11:00)No_99 Nickli Kullanıcıdan Alıntı: Linkleri görüntüleyebilmek için Kayıt ol manız veya Giriş yapmanız gerekiyor.Anlayışınız için teşekkürler.!OnTriggerEnter fonksiyonu işine yarar, bir araştır.

OnTriggerEnter2D ile karakter altını aldığı zaman yukarıda paylaştığım if bloğunu aktif ediyorum. İf bloğu da altın objesinin hareketini sağlıyor. Benim sıkıntım birden fazla altını aldığı zaman bu if bloğu düzgün bir şekilde çalışmıyor. Sizlerden istediğim birden fazla objeye aynı kod ile nasıl hareket ettirebilirim. benim yazdığım kod sadece 1 altın aldığı zaman düzgün bir şekilde çalışıyor. Yani 1 altını alıp altın hareketi tamamlandıktan sonra diğer altını alırsa sıkıntı olmuyor. Sorun altın hareketi bitmeden tekrar altın alması.

(30-01-2018, Saat: 22:46)TheTudors Nickli Kullanıcıdan Alıntı: Linkleri görüntüleyebilmek için Kayıt ol manız veya Giriş yapmanız gerekiyor.Anlayışınız için teşekkürler.!Tam olarak sorunu anlamadım fakat animasyonlar genelde o anda objenin bulunduğu konuma göre oynuyor ve static değilse saçmalayabiliyor o yüzden direk animasyon yerine kod'la coin'in hareketini yapabilirsen sorunun ortadan kalkar gibi geliyor.




Sorunumla ilgili bir video çektim. Video da daha iyi bir şekilde anlayabilirsiniz diye umuyorum.
  Cevapla
#5
Bu kod coin'in içinde mi? Coinin içine bir script yazarsan daha iyi olur hem bool ile uğraşmana gerek kalmaz. Eğer coin karakter taglı objeye temas ederse (OnColliderEnter2D) bir routine başlat (IENumerator) ve posizyonu target posizyonuna eşit olmadığı sürece routine'i tekrar çalıştır.
Linkleri görüntüleyebilmek için Kayıt ol manız veya Giriş yapmanız gerekiyor.Anlayışınız için teşekkürler.!
resim
  Cevapla
#6
(01-02-2018, Saat: 20:03)No_99 Nickli Kullanıcıdan Alıntı: Linkleri görüntüleyebilmek için Kayıt ol manız veya Giriş yapmanız gerekiyor.Anlayışınız için teşekkürler.!Bu kod coin'in içinde mi? Coinin içine bir script yazarsan daha iyi olur hem bool ile uğraşmana gerek kalmaz. Eğer coin karakter taglı objeye temas ederse (OnColliderEnter2D) bir routine başlat (IENumerator) ve posizyonu target posizyonuna eşit olmadığı sürece routine'i tekrar çalıştır.

Tekrardan merhabalar. Yukarıda yazdığım kod Player objesinde yer alıyor. Player, OnTriggerEnter2D ile coin objesine değdiği zaman bool aktif oluyor. Aktif olan bool'da yine player objesinin içindeki Update fonksiyonundaki if bloğunu çalıştırıyor.

Sizin söylediğiniz yönteme gelince : Coin objesine bu kodu eklersem eğer diğer coin objeleri de hareket etmez mi? Çünkü Update fonksiyonundaki blok çalışacak. Bu yüzden if bloğu aktif olduğu an bu koda sahip tüm objeler de hareket eder. Söylediğiniz yöntemi daha denemedim. Bu yöntemi deneyip belki biraz da geliştirip sonucu buradan paylaşırım yine.
  Cevapla
#7
Hayır neden öyle olsun, karakter içinden denetleme yapmayacaksın, coin içinden denetleme yapacaksın. Karakteri algılayan coinler hareket edecek sadece
Linkleri görüntüleyebilmek için Kayıt ol manız veya Giriş yapmanız gerekiyor.Anlayışınız için teşekkürler.!
resim
  Cevapla
#8
(02-02-2018, Saat: 00:02)No_99 Nickli Kullanıcıdan Alıntı: Linkleri görüntüleyebilmek için Kayıt ol manız veya Giriş yapmanız gerekiyor.Anlayışınız için teşekkürler.!Hayır neden öyle olsun, karakter içinden denetleme yapmayacaksın, coin içinden denetleme yapacaksın. Karakteri algılayan coinler hareket edecek sadece

Yazmış olduğunuzu denedim. Sonuç başarılı. Söylediğiniz yöntemin çalışacağını düşünmemiştim ama yanılmışım. Cevaplarınız için teşekkürler.
  Cevapla
#9
Rica ederim, kolay gelsin.
Linkleri görüntüleyebilmek için Kayıt ol manız veya Giriş yapmanız gerekiyor.Anlayışınız için teşekkürler.!
resim
  Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  150 mbdan fazla bir oyunum var ve hata aliyorum Dopamin3 1 519 17-07-2021, Saat: 04:43
Son Yorum: Dopamin3
  2D Karakter animasyon geçişi yapmıyor espumante 0 449 21-04-2021, Saat: 21:01
Son Yorum: espumante
  2 butona aynı anda tıklandığında animasyon oynatma merhaba 1 687 29-12-2020, Saat: 13:28
Son Yorum: abayir41
  Blend Tree Animasyon joker1903 1 933 24-04-2020, Saat: 18:43
Son Yorum: joker1903
  Bir Sahneden Başka Bir Sahnedeki Objeye Erişim yasinyurek 1 1,645 05-10-2019, Saat: 07:50
Son Yorum: abayir41

Hızlı Menü:


Konuyu Okuyanlar: 1 Ziyaretçi