请帮我写一个代码,unity2d中判断panel的编号和在它下面的button的编号是否相同,一共有16个panel和16个button,如果全部一一对应相同则显示一张图片a(需要public出来指定图片)
时间: 2023-07-14 15:13:35 浏览: 37
以下是一个简单的示例代码,仅供参考:
```csharp
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class PanelButtonChecker : MonoBehaviour
{
public Image targetImage; // 指定的图片
public List<GameObject> panels; // 所有的 panel
public List<GameObject> buttons; // 所有的 button
private void Start()
{
// 注册所有 button 的点击事件
foreach (var button in buttons)
{
button.GetComponent<Button>().onClick.AddListener(() => CheckAllPanelsAndButtons());
}
}
private void CheckAllPanelsAndButtons()
{
bool allMatch = true; // 是否全部匹配
for (int i = 0; i < panels.Count; i++)
{
var panel = panels[i];
var button = buttons[i];
int panelIndex = int.Parse(panel.name.Substring(5)); // 获取 panel 的编号
int buttonIndex = int.Parse(button.name.Substring(6)); // 获取 button 的编号
if (panelIndex != buttonIndex)
{
allMatch = false;
break;
}
}
if (allMatch)
{
targetImage.enabled = true; // 显示指定的图片
}
}
}
```
在这个代码中,我们需要在 Inspector 窗口中指定:
- `targetImage`:需要显示的图片
- `panels`:所有的 panel
- `buttons`:所有的 button
然后,我们在 `Start()` 方法中注册所有 button 的点击事件,当有任何一个 button 被点击时,就会调用 `CheckAllPanelsAndButtons()` 方法。
在 `CheckAllPanelsAndButtons()` 方法中,我们会遍历所有的 panel 和 button,分别获取它们的编号,如果任何一个 panel 的编号和它下面的 button 的编号不匹配,就会将 `allMatch` 设为 `false`,然后跳出循环。
如果 `allMatch` 为 `true`,说明所有的 panel 和 button 都匹配,此时指定的图片就会被显示出来。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)