Şimdi Ara

UNİTY obje spawnlama.

Bu Konudaki Kullanıcılar:
2 Misafir - 2 Masaüstü
5 sn
4
Cevap
0
Favori
351
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
1 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • ben unity ile bir platform (2d) oyunu yapıyorum ama oyuna düşman ekledim en başta normal çalışıyordu düşma ölünce içinden 1 tane para çıkıyordu ama sonra düşmana death animasyonu koyunca bozuldu ve düşman ölünce içinden sonsuz para çıkmaya başladı nasıl düzeltebilirim


    kod şu şekilde;

    using System.Collections;

    using System.Collections.Generic;

    using UnityEngine;

    using System.Threading.Tasks;


    public class dusmanCan : MonoBehaviour

    {

      public Animator animasyon;


      public float TotalCan;

      public float gidenCan;


      public GameObject effect;

      public GameObject coin;


      void Start()

      {

         

      }


       

      void Update()

      {

         

      }


      void OnTriggerEnter2D(Collider2D other)

      {

        if (other.CompareTag("Player"))

        {

          TotalCan -= gidenCan;

        }

        if(TotalCan <= 0)

        {

          animasyon.SetBool("olme", true);      

          Destroy(gameObject,3);

          Instantiate(effect, transform.position, Quaternion.identity);

          Instantiate(coin, transform.position, Quaternion.identity);

        }

      }

    }








  • Aşağıdaki kodları direk script dosyana yapıştır. Daha sonra karakterin ölme animasyonuna gelip son frameye bir event oluştur ve event olarak CoinOlustur seç.


    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;
    using System.Threading.Tasks;

    public class dusmanCan : MonoBehaviour
    {
    public Animator animasyon;

    public float TotalCan;
    public float gidenCan;

    public GameObject effect;
    public GameObject coin;

    void OnTriggerEnter2D(Collider2D other)
    {
    if (other.CompareTag("Player"))
    {
    TotalCan -= gidenCan;
    }
    if(TotalCan <= 0)
    {
    animasyon.SetBool("olme", true);
    Destroy(gameObject,3);
    }
    }

    public void CoinOlustur()
    {
    Instantiate(effect, transform.position, Quaternion.identity);
    Instantiate(coin, transform.position, Quaternion.identity);
    }
    }


    Eğer yapamadıysan ikinci yöntem olarak direk aşağıdaki kodları yapıştır. Sorunun yine çözülür.

    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;
    using System.Threading.Tasks;

    public class dusmanCan : MonoBehaviour
    {
    public Animator animasyon;

    public float TotalCan;
    public float gidenCan;

    public GameObject effect;
    public GameObject coin;

    void OnTriggerEnter2D(Collider2D other)
    {
    if (other.CompareTag("Player"))
    {
    TotalCan -= gidenCan;
    }
    if(TotalCan <= 0)
    {
    bool coinOlustur;
    if (coinOlustur == false)
    {
    Instantiate(effect, transform.position, Quaternion.identity);
    Instantiate(coin, transform.position, Quaternion.identity);
    coinOlustur = true;
    {
    animasyon.SetBool("olme", true);
    Destroy(gameObject,3);
    }
    }
    }



    < Bu mesaj bu kişi tarafından değiştirildi PixCave -- 14 Şubat 2022; 12:51:57 >
    < Bu ileti mobil sürüm kullanılarak atıldı >




  • PixCave kullanıcısına yanıt

    teşekkür ederim 2 gündür uğraşıyordum sonunda çözdüm 

  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.