ScrollView、Texts、およびButtonsを使用してUnity3Dでリストを作成しました。ユーザーがアイテムの近くにあるボタンをクリックすると、アイテムが削除されます。ボタンとテキストは Instantiate メソッドで作成されます。項目のリストは一般的なリスト (List) です。
アイテムのリスト:
public List<Item> Items { get; set; }
ボタンとテキストの作成:
public Button itemButton;
public Text itemText;
(...)
public void ShowItems()
{
ClearItems(); //Destroys button and text gameObjects.
foreach (var item in Globals.Items)
{
var text = Instantiate(itemText) as Text;
var button = Instantiate(itemButton) as Button;
button.GetComponentInChildren<Text>().text = "Delete";
textsList.Add(text); //save Text element to list to have possibility of destroying Text gameObjects
buttonsList.Add(button);//save Button element to list to have possibility of destroying Button gameObjects
text.gameObject.SetActive(true);
button.gameObject.SetActive(true);
//(...) Setting GUI items position here
}
}
アイテムを削除するためにクリックされたアイテムのボタンを検出する方法は?
2番目のボタンクリック== 2番目のアイテムの削除を取得する方法がわかりません。