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
Bir panel açıldığında arkaplanda kalan obje işlevlerini devre dışı bırakma?
#1
Oyun esnasında oyun alanımda bulunan bir butona click yapıldığında bir panel açılıyor. Ben açılan bu panel açıldığında ,panelin arka planında kalan diğer objelerin işlevlerini deaktif yapmak istiyorum. Yani panel açıldığında sadece panelde bulunan butonlara click yapılsın. Bunu nasıl yapabilirim ? Ekranda bulunan prefabların ilgili scriptlerine ulaşıp enable özelliklerini false yapmayı denedim ama objeleri bulamıyor?
  Cevapla
#2
Objelere ulaşmak zorundasınız kapatmak için ama Instantiate ettiğiniz prefabın arkasından bübütün ekranı kaplayan bir image birlikte instantiate edip bu imageyi görünmez yaparsınız galiba arkadakılerine dokunulmuyordu
Örnek
Canvas
-Buton
-prefab
---ekranikaplayangorunmezimage
---Buton2

Hatırladıgım UI da her zaman en altaki obje üstündeki objenin çalışması engelliyor
Ama tabiki o objelere ulaşıp onları enabled false yapmak daha kolay
  Cevapla
#3
(15-09-2018, Saat: 16:44)abayir41 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.!Objelere ulaşmak zorundasınız kapatmak için ama Instantiate ettiğiniz prefabın arkasından bübütün ekranı kaplayan bir image birlikte instantiate edip bu imageyi görünmez yaparsınız galiba arkadakılerine dokunulmuyordu
Örnek
Canvas
-Buton
-prefab
---ekranikaplayangorunmezimage
---Buton2

Hatırladıgım UI da her zaman en altaki obje üstündeki objenin çalışması engelliyor
Ama tabiki o objelere ulaşıp onları enabled false yapmak daha kolay

İmage i ekledim, panel aktif olduğunda image de aktif oluyor ve arka planda kalan objelere tıklayamıyorum. Ama hala instantiate yatığım yani cloneladığım butonları tıklayıp, sürükleyebiliyorum ?
  Cevapla
#4
SSiz hirerarşinizi buraya atın ve hangilerin tıklanmasını istiyorsanız söyleyin
  Cevapla
#5
iki yöntem paylaşayım.
1- Event trigger  (on pointer vs.)
2- static bool değişken oluştur false kalsın. arka planda pasif olmasını istediğin objelere if önlemi al. yani değişken false ise çalıştır gibi. butona tıklayınca değişkeni true yaparsın olur biter. eğer aynı scriptten ulaşacaksan static olması gerekmez, static değişken sürekli bellekte tutulur her scriptten kolayca ulaşılabilir, fakat fazlası zarar şişirir Smile

eğer sadece tıklamayı engellemek istiyorsan event trigger daha mantıklı olacaktır. canvasa komple maske atarak direk ekranda hiç bişeye tıklanmaması sağlanabilir veya ekranın bazı yerlerine de maske uygulayabilirsin. You tubede bir çok uygulama videosu vardır
  Cevapla
#6
(15-09-2018, Saat: 20:41)abayir41 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.!SSiz hirerarşinizi buraya atın ve hangilerin tıklanmasını istiyorsanız söyleyin

canvas
-ekranda göstermek istediğim panel-------->aktif yapmak istediğim panel
--ekranı kaplayan image
---panel harita------------>bu paneldekilerin tıklama özelliği olmasını istemiyorum
  Cevapla
#7
Şimdi imaknınız varsa ki öyle düşünmüyorum sıralama şöyle olursa düzelir diye tahmin ediyorum
Canvas
--panel harita
-----ekrankaplayanimag
---------ekranda göstermek istediğiniz panel

Eyalay arkadaşımızın tavsiyeleride çok mantıklı onlarıda yapabilirsiniz

Bir buton component da on click() var oradan aartıya basıp kullanılması istemediğiniz objeleri atıp özelliklerini değiştirebilirsiniz örnek olarak bir buton atadıniz sağdan seçme yerinden componentlerını oynayabiliyorsunuz
Butonun interactable özelliğini kapatırsaniz buton inactive oluyor yada gameobject bböslümünden setactive kısmindan kapatırsanız obje kapanır
  Cevapla
#8
(16-09-2018, Saat: 00:51)abayir41 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.!Şimdi imaknınız varsa ki öyle düşünmüyorum sıralama şöyle olursa düzelir diye tahmin ediyorum
Canvas
--panel harita
-----ekrankaplayanimag
---------ekranda göstermek istediğiniz panel

Eyalay arkadaşımızın tavsiyeleride çok mantıklı onlarıda yapabilirsiniz

Bir buton component da on click() var oradan aartıya basıp kullanılması istemediğiniz objeleri atıp özelliklerini değiştirebilirsiniz örnek olarak bir buton atadıniz sağdan seçme yerinden componentlerını oynayabiliyorsunuz
Butonun interactable özelliğini kapatırsaniz buton inactive oluyor yada gameobject bböslümünden setactive kısmindan kapatırsanız obje kapanır

Tamamdır deneyeceğim , teşekkürler
  Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  Reklamni buton ile izlettigimde destroy obje calismiyor yardim panimo 0 175 25-02-2019, Saat: 13:26
Son Yorum: panimo
  Canvas içerisinde obje kontrolü GAI 1 304 10-12-2018, Saat: 17:58
Son Yorum: abayir41
  Unity - V Sync Count'u Devre Dışı Bırakmak Scofailed 0 417 14-04-2018, Saat: 14:46
Son Yorum: Scofailed
  Unity - 2 Nokta Arasına Obje Spawnlama Scofailed 2 591 12-04-2018, Saat: 19:40
Son Yorum: Scofailed
  Rastgele obje seçmek ve Hareket TTurkishCoffee 1 534 05-04-2018, Saat: 18:33
Son Yorum: undefined

Hızlı Menü:


Konuyu Okuyanlar: 1 Ziyaretçi