[英]Unity 2D: How can I flip through a specific sequences of scenes, not lose my score data and then retrieve my score data?
我是统一和 C# 的新手,我有几个问题。 这是背景:我创建了 7 个不同的场景,它们基本上是不同的迷你游戏。 我的目标如下:一开始,参与者选择模式 1 或模式 2。如果他们选择模式 1,接下来应该播放场景 1,2 和 3。 如果他们选择模式 2,接下来应该播放场景 2,4,5,6,7。 在小游戏结束时,我想用视觉图形显示参与者在所有小游戏中的得分。
所以这是我的问题:
如何设置我的游戏,当参与者选择“模式 1”时,播放特定场景 1、2 和 3? 或者如果他们 select '模式 2',播放场景 2、4、5、6 和 7? 他们是一种让他们以随机顺序播放的方法吗?
如何保存每个迷你游戏的分数,以便在最后访问它们并使用分数制作图形?
对于场景顺序,我做了这样的事情:
void Start()
{
RandNum = Random.Range(0, 8);
if (RandNum == 0)
{
SceneManager.LoadScene(MiniGame1);
}
if (RandNum == 1)
{
SceneManager.LoadScene(MiniGame2);
}
if (RandNum == 2)
{
SceneManager.LoadScene(MiniGame3);
}
...ETC。 这行得通吗?
而对于分数保存,当我在网上搜索时,我发现我可以使用 PlayPrefs.SetIn("Score mini-game 1", score1) 例如。 这是一个好方法吗? 如果是这样,最后我将如何检索这些信息?
非常感谢你的帮助:)
要从 PlayerPrefs 中获取您的分数,请使用PlayerPrefs.GetInt
对于场景加载序列,您可以创建一些具有级别队列预设的ScriptableObject (例如每种模式的 int arrays)。
对于整体架构,我将创建一些将在整个游戏生命周期中保留的游戏对象(即在加载新场景后不会被销毁)并使用该游戏对象来保存您的游戏管理器。 为此使用DontDestroyOnLoad 。 但是这种方法可能不适合您的情况,因此在选择某种方法之前先考虑一下。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.