簡體   English   中英

Unity 2D:我怎樣才能翻閱特定的場景序列,而不丟失我的分數數據然后檢索我的分數數據?

[英]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”時,播放特定場景 1、2 和 3? 或者如果他們 select '模式 2',播放場景 2、4、5、6 和 7? 他們是一種讓他們以隨機順序播放的方法嗎?

  2. 如何保存每個迷你游戲的分數,以便在最后訪問它們並使用分數制作圖形?

對於場景順序,我做了這樣的事情:

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM