在Unity3D中解锁级别

在Unity3D中解锁级别,unity3d,levels,Unity3d,Levels,我想做一个系统,完成一个后解锁下一个级别。 我用c来编码 如果你完成了等级1,你将解锁等级2等等 主菜单是构建级别0,级别选择是构建级别1,因此第一个级别实际上是构建级别2 public bool isLevel1; public bool isLevel2; public bool isLevel3; public bool isLevel4; // Use this for initialization void Start () { } // Update is called on

我想做一个系统,完成一个后解锁下一个级别。 我用c来编码

如果你完成了等级1,你将解锁等级2等等

主菜单是构建级别0,级别选择是构建级别1,因此第一个级别实际上是构建级别2

public bool isLevel1;
public bool isLevel2;
public bool isLevel3;
public bool isLevel4;


// Use this for initialization
void Start () {

}

// Update is called once per frame
void Update () {

}
void OnMouseUp()
{
    if (isLevel1)
    {
        Application.LoadLevel(2);
    }
    if (isLevel2)
    {
        Application.LoadLevel(3);
    }
    if (isLevel3)
    {
        Application.LoadLevel(4);
    }
    if (isLevel4)
    {
        Application.LoadLevel(5);
    }
}
这就是我如何从标高选择中选择标高的方法。我在主菜单上有类似的东西,但我不知道如何锁定它们,然后在完成关卡后解锁。我有办法锁定它们,但我放弃了,因为它不起作用。如果有人能解释得足够简单或者给我指一本我错过的指南,那将是一个很大的帮助。因为我找到了一些向导,但他们认为我的水平选择不同,我想。 我提前感谢你,我愿意回答任何进一步的问题

我建议PlayerPrefs可能是做类似事情的最佳选择,它可以很好地为玩家保存分数,因此保存解锁的关卡也可以

以下是PlayerPrefs的一些文档:

这里有一个很好的视频链接,显示了与您想要实现的类似的功能:

我建议PlayerPrefs可能是执行类似操作的最佳选择,它可以很好地为玩家保存分数,因此保存未锁定的级别也可以

以下是PlayerPrefs的一些文档:


这里有一个很好的视频链接,显示的内容与您想要实现的内容类似:

可能在某个空游戏对象上包含一个脚本确保您调用,以便在级别更改时对象保持不变,并且每次完成级别时,在该空对象中更改一个布尔变量,以表示该级别至少已完成一次。然后,如果表示上一级已完成的布尔值为true,则解锁UI中的下一级


如果你的角色在完成上一关后自动进入下一关,你可以改为使用。在本例中,level是刚刚加载的level的编号,所以对于您来说,3将是您真正的第一个level。然后在此函数中更改空游戏对象的布尔变量,而不是在上一级别的末尾。当你完成关卡时,如果你可以升级到下一个关卡,而不是只有一个解锁选项,那么这可能会非常有用。

可能会在某个空游戏对象上包含一个脚本,确保你调用该脚本,以便在关卡更改时对象保持不变,并且每次你完成关卡时,更改该空对象中的布尔变量,以表示该级别至少已完成一次。然后,如果表示上一级已完成的布尔值为true,则解锁UI中的下一级


如果你的角色在完成上一关后自动进入下一关,你可以改为使用。在本例中,level是刚刚加载的level的编号,所以对于您来说,3将是您真正的第一个level。然后在此函数中更改空游戏对象的布尔变量,而不是在上一级别的末尾。如果在完成该级别时,您可以升级到下一个级别,而不是只有一个选项可以解锁,那么这可能非常有用。

这是一个好问题,但对于QA站点来说,这太宽泛了。请访问gamedev或forum.unity3d或类似网站。虽然这是一个好问题,但对于QA网站来说,这太宽泛了。请访问gamedev或forum.unity3d或类似网站。对于几乎没有保存数据的小型游戏,我认为PlayerPrefs可以。对于每个关卡,你可以在PlayerPrefs中包含一个bool,指示它是否已解锁。然而,值得注意的是,PlayerPrefs并不是真正用来保存游戏状态数据的。它更多的是用于首选项,如音频音量、控制映射等。因此,如果您的游戏具有保存/加载文件,或者多个游戏可以保存到同一台计算机上,您最终应该考虑将游戏数据保存在单独的文件中。游戏状态数据和音频音量之间的区别是什么?playerPref对于预期用途来说是很好的。没有必要为每个级别考虑一个BoL,只是一个定义顶层的整数:int level = PravePrfs. GetIntegerLevel,0;如果需要更多信息,使用JSON字符串更合适。你可以看看这个,我看了视频,但是每一行都是错的,因为我用的是c,他用的是JS。我之前没有提到我使用c,但我在帖子中改变了这一点。很抱歉浪费了你的时间尝试一下:只需快速搜索一个小游戏,几乎没有保存数据,PlayerPrefs就可以了,依我看。对于每个关卡,你可以在PlayerPrefs中包含一个bool,指示它是否被解锁。然而,值得注意的是,PlayerPrefs并不是真正用来保存游戏状态数据的。它更多的是用于首选项,如音量、控制映射等。因此,如果您的游戏有保存/加载文件,或者多个游戏可以保存到同一台计算机上,您最终应该考虑保存游戏数据
在一个单独的文件中。游戏状态数据和音量之间有什么区别?playerPref对于预期用途来说是很好的。没有必要为每个级别考虑一个BoL,只是一个定义顶层的整数:int level = PravePrfs. GetIntegerLevel,0;如果需要更多信息,使用JSON字符串更合适。你可以看看这个,我看了视频,但是每一行都是错的,因为我用的是c,他用的是JS。我之前没有提到我使用c,但我在帖子中改变了这一点。抱歉浪费了你的时间试试这个:只需快速谷歌一下