在我们的应用程序中,当我们启动应用程序(或构建到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