我很新,我的編程能力仍然有點弱,我正在研究如何編寫代碼,同時練習我的激情,這是遊戲開發的方式2d平臺遊戲Unity3D - 如何創建一個場景持有人的所有級別和解鎖一些?
我的主要問題是現在,我有兩個場景(1級,級別2),然後我有我有兩個門同時代表水平選擇一個SceneSelctor ,但我面臨的probleme是althought
我創建了一個小碼鎖定Level2,直到我達到一個點,然後解鎖它,是當我開始遊戲時,level2總是解鎖,這對我沒有好處
控制這個東西保存在兩個腳本 我用Hastebin,因爲我不知道如何將代碼複製/粘貼代碼在這裏
https://hastebin.com/oluzujukid.cs
===> LevelDoor。 CS
public class LevelDoor : MonoBehaviour {
public string levelToLoad;
public bool unlocked;
// Use this for initialization
void Start() {
//first level must be always unlocked
PlayerPrefs.SetInt("Level1", 1);
//when the leveltoLoad = 1 that mean that the level should be unlocked
if(PlayerPrefs.GetInt(levelToLoad) == 1)
{
unlocked = true;
} else
{
unlocked = false;
}
//some animation stuff toshow doorOpen or closed
if(unlocked)
{
doorTop.sprite = doorTopOpen;
doorBottom.sprite = doorBottomOpen;
} else
{
doorTop.sprite = doorTopClosed;
doorBottom.sprite = doorBottomClosed;
}
}
===> LevelExit.cs
public class LevelExit : MonoBehaviour {
public string levelToUnlock;
}
public IEnumerator levelExitCo()
{
// if the player reach the checkpoint thisline unlock the second level on SceneSelect
PlayerPrefs.SetInt(levelToUnlock, 1);
}
你可以在這裏粘貼代碼,然後使用格式選項:查找「{}」圖標。 – Alex
是的,我想過,但我得到了一些奇怪的結果,如只有一部分scipt highlited,所以我選擇了加速器 – EvanMedi
粘貼它,並與格式做你最好。別人會編輯你的問題,並修復它,如果不是100%。通過這種方式獲得答案的機會更大。 – Alex