我正在使用统一制作一个水平锁解锁系统

时间:2015-04-20 16:47:01

标签: c# unity3d monodevelop

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

public class loadlevels : MonoBehaviour {
public Button b2;
public Button b3;
void OnLevelWasLoaded()
{

    int MyLevel = PlayerPrefs.GetInt("Level"); 

    switch (MyLevel) {

    case 2: b2.interactable = true; 
        b2.image.sprite = Resources.Load<Sprite> ("UISprite");

        break;

    case 3: b3.interactable = true; 
        b3.image.sprite = Resources.Load<Sprite>("UISprite");
        break;



    }
}
}

我使用了playerprefs来保存按钮状态但是我遇到了一个问题,当解锁第三级按钮3时,按钮2进入其锁定状态。解锁第三级时按钮2没有保存是很奇怪的。

1 个答案:

答案 0 :(得分:1)

看起来你想要一系列按钮,这些按钮将被启用到某个索引。使用switch的代码只启用一个与关卡完全匹配的按钮。

public Button[] buttons = new Button[4]; 
// don't forget to create / set in array

for( int level = 0; level <= myLevel; level++)
{
   buttons[level].interactable = true; 
   buttons[level].image.sprite = Resources.Load<Sprite> ("UISprite");
 }