Unity 按钮状态切换:单选实心按钮实现
在Unity中实现按钮状态切换功能,使三个圆形按钮中只有一个可以被选中并显示为实心样式,可以使用以下代码逻辑:\n\ncsharp\nusing UnityEngine;\nusing UnityEngine.UI;\npublic class ButtonManager : MonoBehaviour\n{\n public Button[] buttons; // 存储三个按钮的数组\n\n private Button selectedButton; // 当前选中的按钮\n\n private void Start()\n {\n // 给每个按钮添加点击事件\n for (int i = 0; i < buttons.Length; i++)\n {\n int index = i; // 保存当前按钮的索引\n buttons[i].onClick.AddListener(() => OnButtonClicked(index));\n }\n }\n\n private void OnButtonClicked(int buttonIndex)\n {\n Button clickedButton = buttons[buttonIndex];\n \n // 检查是否点击的是已选中的按钮\n if (clickedButton == selectedButton)\n {\n // 恢复按钮原状\n clickedButton.image.color = Color.white;\n selectedButton = null;\n }\n else\n {\n // 将已选中的按钮恢复原状\n if (selectedButton != null)\n {\n selectedButton.image.color = Color.white;\n }\n\n // 设置当前按钮为实心样式\n clickedButton.image.color = Color.red;\n selectedButton = clickedButton;\n }\n }\n}\n\n\n在以上代码中,我们通过一个ButtonManager脚本来管理按钮的状态。buttons数组存储了三个按钮的引用。在Start方法中,我们给每个按钮添加了点击事件,并通过OnButtonClicked方法来处理按钮的状态切换逻辑。\n\n当点击一个按钮时,我们首先检查是否点击的是已选中的按钮,如果是,则将按钮恢复原状;如果不是,则将已选中按钮恢复原状,然后将当前按钮设置为实心样式。\n\n希望以上代码可以帮助您实现按钮的状态切换逻辑。
原文地址: https://www.cveoy.top/t/topic/p3PW 著作权归作者所有。请勿转载和采集!