Unity Canvas Aktif Etme

yigidyum

Kilopat
Moderatör
Katılım
24 Ağustos 2017
Mesajlar
2.388
Makaleler
1
Çözümler
6
Arkadaşlar bir butona tıkladığımda istediğim Canvas'ın aktif olmasını istiyorum.

ahf-min.PNG


Mesela bölüm seç butonuna tıkladığımda bölüm seçim Canvas'ının aktif olup, ana menü Canvas'ının da yok olmasını istiyorum. Bir de bölüm seçim Canvasına da bir buton ekleyeceğim, o da menüye dönüş butonu olacak. Ona bastığımda da bu sefer tam tersi olacak. Bölüm seçim Canvası gidecek, yerine menü gelecek. Şu an menü ve bölüm seçim için ayrı sahneler oluşturup geçiş yaptırmayı biliyorum ama çok sıkıntılı oluyor.

@Predator Titan
 
Son düzenleyen: Moderatör:
Çözüm
Kod:
using UnityEngine.UI;

public GameObject CanvasOBJ;

public void CanvasKapama()
{

 CanvasOBJ.SetActive(false);

}
public void CanvasAcma()
{

 CanvasOBJ.SetActive(true);

}

Bu mantık ile dilediğiniz objeyi açıp kapatabilirsiniz. Bu kodu bir GameObject yaratıp içine atın, daha sonra Bölüm Seç butonunun On Click button kısmından, + ya basıp objeyi sürükleyin akabin de ise function kısmından yukarı da yazdığımız kodun adını bulup, kodun yanın da ki üçgenden seçenekleri büyütün ve kodumuzun içerisinde yazdığımız public olan CanvasKapama void ini seçin. Bu örnek ti, hangisini seçmeniz gerekiyor ise CanvasAcma ya da Kapama yı dilediğiniz gibi kullanın.
Kod:
using UnityEngine.UI;

public GameObject CanvasOBJ;

public void CanvasKapama()
{

 CanvasOBJ.SetActive(false);

}
public void CanvasAcma()
{

 CanvasOBJ.SetActive(true);

}

Bu mantık ile dilediğiniz objeyi açıp kapatabilirsiniz. Bu kodu bir GameObject yaratıp içine atın, daha sonra Bölüm Seç butonunun On Click button kısmından, + ya basıp objeyi sürükleyin akabin de ise function kısmından yukarı da yazdığımız kodun adını bulup, kodun yanın da ki üçgenden seçenekleri büyütün ve kodumuzun içerisinde yazdığımız public olan CanvasKapama void ini seçin. Bu örnek ti, hangisini seçmeniz gerekiyor ise CanvasAcma ya da Kapama yı dilediğiniz gibi kullanın.
 
Çözüm
Kodu en son şu hale getirdim, oldu. Çok teşekkürler.
Kod;

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Gecis : MonoBehaviour {

public GameObject CanvasOBJ;
public GameObject CanvasOBJ2;

public void CanvasKapama()
{
CanvasOBJ.SetActive(false);
CanvasOBJ2.SetActive(true);
}

public void CanvasAcma()
{
CanvasOBJ.SetActive(true);
CanvasOBJ2.SetActive(false);
}

}
 
Uyarı! Bu konu 6 yıl önce açıldı.
Muhtemelen daha fazla tartışma gerekli değildir ki bu durumda yeni bir konu başlatmayı öneririz. Eğer yine de cevabınızın gerekli olduğunu düşünüyorsanız buna rağmen cevap verebilirsiniz.

Geri
Yukarı