大佬,Unity怎么让玩家按一定顺序点击按钮啊

想按一定顺序点击按钮,错误的话就会显示一个“顺序错误”的对话框,大佬们,求代码

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class TestButtonItem : MonoBehaviour {

    public int id;
    public bool isClicked = false;

public void SetId(int id)
    {
        this.id = id;
    }
}

using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;

public class CheckButtonSort : MonoBehaviour {

    public Button[] buttons;
    public int clickCount = 0;
 
void Start () {

        //初始化按钮状态
        for (int i = 0; i < buttons.Length; i++)
        {
            TestButtonItem item = buttons[i].GetComponent<TestButtonItem>();

            if (item != null) {
                item.id = i + 1;
                item.isClicked = false;
            }
 
        }

        //点击时事件处理
        for (int i = 0; i < buttons.Length; i++)
        {
            int j = i;

            buttons[j].onClick.AddListener(() => {

                TestButtonItem item = buttons[j].GetComponent<TestButtonItem>();

                if (item != null)
                {
                    if (item.id != clickCount + 1)
                    {
                        Debug.LogError("请按顺序点击!你现在该点Button " + (clickCount + 1));
                        return;
                    }

                    if (!item.isClicked)
                    {
                        clickCount++;
                        item.isClicked = true;

                        Debug.Log(clickCount);
                    }
                }

            });
        }
}

  
}

给你两个脚本,自己摸索。

只说下,CheckButtonSort为控制类,TestButtonItem 挂在你的每个按钮上。OK

追问

大佬,你还在吗,你这个是把按钮设置1,2,3,4,然后每次都是I+1,I初始是0,这样吧,可没用啊.....

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-01-28
你可以去paws3d看看C#在unity中应用部分的模块,看有没有能解决你问题的