unity中我创建了一个button的列表我要知道列表中哪一个按钮被按下如何编写
在Unity中,你可以为每个按钮添加一个OnClick事件处理程序,以便在按钮被按下时执行特定的代码。以下是一个示例代码,展示了如何为一个按钮列表中的每个按钮添加OnClick事件处理程序:
using UnityEngine;
using UnityEngine.UI;
public class ButtonList : MonoBehaviour
{
public Button[] buttons;
private void Start()
{
// 遍历按钮列表,为每个按钮添加OnClick事件处理程序
for (int i = 0; i < buttons.Length; i++)
{
int buttonIndex = i; // 为了在闭包中保存按钮的索引
buttons[i].onClick.AddListener(() =>
{
// 当按钮被按下时,执行以下代码
Debug.Log("Button " + buttonIndex + " is pressed.");
// 在这里可以根据按钮索引执行特定的操作
// 例如,你可以使用switch语句根据按钮索引执行不同的代码块
switch (buttonIndex)
{
case 0:
// 执行按钮0的操作
break;
case 1:
// 执行按钮1的操作
break;
// 其他按钮的操作...
}
});
}
}
}
在上述代码中,首先你需要在Unity编辑器中将ButtonList脚本附加到一个空物体上,并将按钮列表拖拽到ButtonList组件中。然后,在Start方法中,我们使用for循环遍历按钮列表,并为每个按钮添加一个OnClick事件处理程序。在事件处理程序中,我们可以根据按钮索引执行不同的代码块。
希望能帮到你
原文地址: http://www.cveoy.top/t/topic/h5mo 著作权归作者所有。请勿转载和采集!