【问题标题】:Take long second loading new simple scene in unity统一加载新的简单场景耗时长
【发布时间】:2023-03-10 10:32:01
【问题描述】:

我正在Unity5 中开发一个简单的2D 游戏

当我尝试加载新场景时,可能需要 5 ~ 10 秒!

我正在为android 开发它,当我在unity 中运行游戏或在真实设备上安装APK 时,它并没有什么不同。

我使用此代码更改关卡或场景

Application.LoadLevel(level String name or Level int number);

我用一个空白的 UI 中只有文本的场景来测试它,它也需要 5 ~ 10 秒!

我认为这个问题与我的精灵或场景大小无关。这是一个统一或编码问题

请帮忙

【问题讨论】:

  • 您是否尝试将其关闭再打开?

标签: c# unity3d unity5


【解决方案1】:

我对这个问题进行了更多搜索,发现很多论坛重复确实没有找到解决方案或好的答案。

在解决这个问题 1 小时后,我找到了原因。

我认为Unity 中的UI Buttons 中的Click Listener Method 必须在每一帧中检查,但这是错误的。

由于在我的项目中加载新场景时发生按钮单击问题源自这里!

我感动了

Button.onClick.AddListener(()=>{});

Update()Start() 方法。

简单的问题就解决了。

如果我没记错AddListener() 方法,像Update() 方法一样运行每一帧,我不需要在Update() 上写它。

我希望这个问题和这个答案对任何有类似问题的人都有帮助:)

谢谢。

【讨论】:

  • 酷!刚刚意识到 AddListener 更像是为按钮设置一个触发器并执行一次就足够了!我很长一段时间都在使用 LoadAsync!感谢您发布此内容!
【解决方案2】:

首先你不应该在 unity5 中使用 application.loadlevel 你应该这样做

using UnityEngine.SceneManagement;

然后做

SceneManager.LoadScene(NAME);

加载场景

您可以在以下位置找到参考:https://docs.unity3d.com/ScriptReference/SceneManagement.SceneManager.LoadScene.html 我希望这对你有所帮助。

【讨论】:

  • 我现在测试了它。但是问题没有解决,新的水平也需要很长时间
猜你喜欢
  • 2022-11-15
  • 1970-01-01
  • 1970-01-01
  • 2021-05-22
  • 2020-05-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-08-03
相关资源
最近更新 更多