1.创建多个button(关卡数)->创建Button数组存button(代码)+目前达到第几关卡(默认为1)levelReached->达到那一关,那一关的Button才可用levelReached=button可用
public class LevelSelect : MonoBehaviour {
public Button[] levelButton;//关卡数组
// Use this for initialization
void Start () {
int levelReached = PlayerPrefs.GetInt("levelReach",1);//获取值,不存在返回1(初始第一关)
for (int i = 0; i < levelButton.Length; i++)
{
if (i > levelReached-1)//达到那一关,那一关的Button才可用
{
levelButton[i].interactable = false; //Interactable(是否可用)
}
}
}
2.UI(另起一个场景存)
添加UI->Scroll View->
->content加两个组件->Content Size Fitter会根据多少内容来调整Scroll的大小,Grid根据什么方式排布
->在content里面加Button,作为关卡选项
http://blog.youkuaiyun.com/gcs6564157/article/details/54884809
注:Scroll View的大小在此处调(调一下上下左右的边距)
Button的脚本
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.SceneManagement;
public class LvButtonInfo : MonoBehaviour {
public Image[] stars;
public string lvName;
void Start () {
PlayerPrefs.SetInt(lvName,0);
int lvStarNumber = PlayerPrefs.GetInt(lvName);
for (int i = 0; i < stars.Length; i++)
{
stars[i].enabled = false;
}
for(int i=0;i<lvStarNumber;i++)
{
stars[i].enabled = true;
}
}
public void EnterLv()
{
SceneManager.LoadScene(lvName);
}
}
lvName在Inspect面板写即可。