gpt4 book ai didi

Unity3D - 通过 Application.LoadLevel 重新加载场景后的问题

转载 作者:行者123 更新时间:2023-12-04 05:06:37 25 4
gpt4 key购买 nike

我有个问题...

我的游戏中有四个场景:开场场景、选择玩家场景、实际游戏场景和游戏结束场景。

当我额外加载实际的游戏场景时遇到问题

Application.LoadLevel("Let's play the game!") 

这就是我离开这个场景的方式:
if(GUI.Button (new Rect (x, y, w, h), "Quit", buttonStyle))
{
Application.Quit();
Application.LoadLevel("Opening Screen");
}

当我第二次加载我想要的关卡时,相机应该跟随第一个玩家。这没有发生。我提供了一个“重启”选项,可以解决这个问题,但我不希望这个事件首先发生。

更严重的问题是动态加载的游戏对象。我收到“'GameObject' 已被破坏,但您仍在尝试访问它。”我不确定这是从哪里来的,因为我在任何地方都看不到我之前所说的“毁灭”。此外,当我在 Unity 中运行应用程序时,动态创建的对象确实出现在层次结构中。

我认为我的问题的根源在于失败的相机,但我不确定如何修复它。

有人有什么建议吗?

最佳答案

听起来您需要确保调用 DontDestroyOnLoad在级别加载之间将对象保存在内存中:

DontDestroyOnLoad(gameObjectToPreserve);

此外,您示例中的以下代码将在您的应用程序加载“打开屏幕”之前退出您的应用程序:
if(GUI.Button (new Rect (x, y, w, h), "Quit", buttonStyle))
{
Application.Quit();
Application.LoadLevel("Opening Screen");
}

如果您打算返回到初始屏幕,请删除“Application.Quit()”行。您不会在编辑器的预览模式中看到这个问题,因为 Application.Quit() 在那里没有做任何事情。

关于Unity3D - 通过 Application.LoadLevel 重新加载场景后的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15454597/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com