Unity
Dinamik Butona Erişme
Unity dinamik olarak oluşturulmuş butonun textine erişmek
Buton içeriği oyun içerisinde değişiyorsa;
//kodlar
public void kareDoldur()
{
for (int i = 0; i < kareDizisi.Length; i++)
{
GameObject karebtn = Instantiate(karePrefab, karelerPaneli);
karebtn.transform.GetComponent<Button>().onClick.AddListener(() => butonaBasildi(karebtn.transform.GetChild(0).GetComponent<Text>()));
kareDizisi[i] = karebtn;
}
StartCoroutine(kareDofadeRoutine());
}
void butonaBasildi(Text textArea)
{
Debug.Log(textArea.text);
}
Oyun içerisinde hiç değişmiyorsa sadece bir kere set ederken değişiyorsa direkt o değeri verebilirsin fonksiyona
public void kareDoldur()
{
for (int i = 0; i < kareDizisi.Length; i++)
{
GameObject karebtn = Instantiate(karePrefab, karelerPaneli);
karebtn.transform.GetComponent<Button>().onClick.AddListener(() => butonaBasildi(karebtn.transform.GetChild(0).GetComponent<Text>()));
kareDizisi[i] = karebtn;
}
StartCoroutine(kareDofadeRoutine());
}
void butonaBasildi(Text textArea)
{
Debug.Log(textArea.text);
}
//kodlar
public void kareDoldur()
{
for (int i = 0; i < kareDizisi.Length; i++)
{
Button karebtn = Instantiate(karePrefab, karelerPaneli);
var text = karebtn.transform.GetChild(0).GetComponent<Text>().text;
karebtn.onClick.AddListener(() => butonaBasildi(text));
kareDizisi[i] = kare;
}
StartCoroutine(kareDofadeRoutine());
}
void butonaBasildi(string text){
Debug.Log(text);
}
public void kareDoldur()
{
for (int i = 0; i < kareDizisi.Length; i++)
{
Button karebtn = Instantiate(karePrefab, karelerPaneli);
var text = karebtn.transform.GetChild(0).GetComponent<Text>().text;
karebtn.onClick.AddListener(() => butonaBasildi(text));
kareDizisi[i] = kare;
}
StartCoroutine(kareDofadeRoutine());
}
void butonaBasildi(string text){
Debug.Log(text);
}
Yorum Gönder
0 Yorumlar