Unity3D解锁关卡功能

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面板写即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值