Unity image objesinin collider2D nesnesinde Click ya da çarpışma olmuyor

Mçınar

Hectopat
Katılım
5 Ağustos 2019
Mesajlar
461
Unity ımage objesinin collider2D nesnesinde Click'ya da çarpışma olmuyor neden?
Sahnede silah zeminine tıkladığımda ımage nesnesi ekranda beliriyor ama üzerinde Click yaptığımda kayboluyor (collider2D kullanılmıştır). Aynı durumu gameobject ekleyip collider2D kullandığımda ekrandan kaybolmuyor istediğim bu ama canvas UI elemanlarından ımage nesnesinde bu olmuyor hatta sahnede collider2D açık ve is trigger kapalı halde olmasına ragmen enemy içinden geçiyor bunun sebebi nedir?

 
Bununla ilgili yazdığınız kodunuzu da paylaşır mısınız?
Video üzerinden ilerliyorum ama gözden kaçmış olabilir , sizin önerilerinizi bekliyorum.
hit.collider.gameObject.tag kısmında canvas uı elemanları gameobje nesnesi olarak kabul edilmiyor olabilir mi ?

Kod:
 void Update()
    {
        if (Input.GetMouseButtonDown(0))
        {
            mousePos = Camera.main.ScreenToWorldPoint(Input.mousePosition);
            mousePos2D = new Vector2(mousePos.x, mousePos.y);
            hit = Physics2D.Raycast(mousePos2D, Vector2.zero);

            if (hit.collider != null && hit.collider.gameObject.tag !="dusman")
            {
                Debug.Log(hit.collider.gameObject.name);
                dolu = true;
            }
            else
            {
                dolu = false;
                uretilecek_silahin_koordinati = null;
                silah_zemini_scriptim.tanklarin_paneli.SetActive(false);
            }
        }
    }
 

Bayağıdır Unity kullanmıyorum ama canvas öğesi ile gameobject çarpışmaya girmez diye hatırlıyorum yani image yerine 2D Objectlerden Sprite kullanmayı dene yine olmazsa colliderın yanına rigidbody koyman gerekebilir rigidbody koyarsan gravityi kapatmayı unutma.
 
2D Sprite kullanmanız gerek arkadaşların söylediği gibi.
 

Tamam hocam çarpışmaya girmediğini anladım da silah zeminine tıkladıktan sonra image nesnesine tıkladığımda kayboluyor Click ile hatta Console ekranında çıktı vermiyor image colliderı görmüyor mu anlamadım? (çünkü aynı işlemi gameobje nesnesi ile yaptığımda Click yaptığımda collider ı görüyor ve Console ekranında çıkıyor? )
 

Bu "silah zemini" bir buton mu? Ve tıklayınca ne yapıyor herhangi bir scriptle çalışıyor mu? Çalışıyorsa scriptini atın, tam olarak ne yapmak istediğinizi anlayamadım şu an.
 
Bu "silah zemini" bir buton mu? Ve tıklayınca ne yapıyor herhangi bir scriptle çalışıyor mu? Çalışıyorsa scriptini atın, tam olarak ne yapmak istediğinizi anlayamadım şu an.

Silah_zemini bir gameobje hocam üzerine tıkladığımızda sağ tarafta istediğimiz tank paneli kısmı açılacak. Şu anda gameobje ile yaptım panelin üstüne tıklayınca collider ile etkileşime giriyor ve panel kapanmıyor ama bunu ımage ile yapamıyorum.



Kod:
void Update()

    {

        if (Input.GetMouseButtonDown(0))

        {

            mousePos = Camera.main.ScreenToWorldPoint(Input.mousePosition);

            mousePos2D = new Vector2(mousePos.x, mousePos.y);

            hit = Physics2D.Raycast(mousePos2D, Vector2.zero);



            if (hit.collider != null && hit.collider.gameObject.tag !="dusman")

            {

                Debug.Log(hit.collider.gameObject.name);

                dolu = true;

            }

            else

            {

                dolu = false;

                uretilecek_silahin_koordinati = null;

                silah_zemini_scriptim.tanklarin_paneli.SetActive(false);

            }

        }

    }
 
Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için çerezleri kabul etmelisiniz. Daha Fazlasını Öğren.…