在我們的應用程序中,當我們啓動應用程序(或構建到Android設備)時顯示splash screen
,這是通過Unity的Edit -> Project Settings -> Player
完成的,但我們現在有一個功能,有時在應用的中間還重新啓動應用程序,所以我們想編寫這種行爲,這樣我們就可以顯示不同閃屏,如果應用程序重新啓動中期使用。手動編程啓動畫面以在任意時間出現
我們似乎無法弄清楚如何以編程方式執行此操作,或者完全在應用程序代碼中執行此操作,因此我們將幫助您解決任何問題。
我們所知道的(並且已經實現)是通過:
PlayerPrefs.SetString("LastShownComponent", menuId);
PlayerPrefs.Save();
,它可以記住,如果這是第一次應用開始(原開機畫面)或用戶是否是中期使用情況,但是當應用重新加載中期使用時,我們如何指定另一張要加載的圖片爲splash screen
?
編輯:更多詳細信息...
以前,我們只用了下面的代碼:
if (_callbackUri == null)
{
SceneManager.LoadScene("ReloadScene");
}
現在,我們力應用程序,重新啓動中期使用(針對特定原因)由:
if (_callbackUri == null)
{
PlayerPrefs.SetInt("Restarting", 1);
PlayerPrefs.Save();
#if UNITY_ANDROID && !UNITY_EDITOR
AndroidPlugin.Restart();
#else
SceneManager.LoadScene("ReloadScene");
#endif
}
然而,在重新啓動時,顯然重新加載相同的閃屏圖像即在播放器的設置。
我們可能需要在AndroidPlugin.Restart();
以下添加代碼才能加載新的啓動畫面圖像,但我們該怎麼做?我們需要一個新的場景嗎?
是否有可能有一個空白的場景,基本上加載2個不同的啓動畫面,取決於在playerprefs中保存的內容?因此,例如,遊戲啓動時,您的初始場景是一個空白場景,其腳本根據是否設置了'PlayerPrefs.SetString(「GameReload」,reloadingValue)加載啓動屏幕,然後每次您實際打開遊戲時都會設置該值假? – Eddge
@Eddge感謝您的回覆,但我不確定我是否瞭解您。我將編輯我的帖子以添加詳細信息,因此,如果您再次閱讀並詳細說明您的評論問題,那將會很棒。謝謝 – Joshua
你是否在談論統一閃屏本身?例如,您希望它播放Unity徽標的動畫版本,第一次啓動時,然後當您調用'AndroidPlugin.Restart()'時,您希望它播放靜止標誌?或者你在說自己的自定義啓動畫面?我不確定您是否可以改變Unity Splash屏幕的顯示方式。這就是爲什麼我提到添加一個空白場景,將爲您自己的自定義啓動畫面加載2個場景中的1個。 – Eddge