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没有保存是很奇怪的。
答案 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");
}