【发布时间】:2020-07-31 11:18:54
【问题描述】:
您好,我正在为我的游戏制作一个开始按钮,但是当我按下它时,游戏会冻结 3-4 秒,然后加载下一个场景。我只是想让它等待1然后切换场景。
IEnumerator Play(){
isPressed = true;
sprite.enabled = false;
click = true;
myAudio.Play();
particle.Play();
yield return new WaitForSeconds(1);
SceneManager.LoadScene("dupa menu1");
}
public void pressButt(){
StartCoroutine(Play());
}
我将 pressButt 变量放在 UI 按钮 On Click() 上
谢谢
【问题讨论】:
-
我不知道您使用的是什么结构,但根据您的描述,我认为 SceneManager.LoadScene("dupa menu1");正在运行时加载。所以,问题是,你在运行时加载的所有东西都需要时间才能加载到你的游戏中。所以,我的建议是在游戏启动时加载你需要的所有场景,并根据成就和游戏解锁调用所需的场景已经加载。
-
@integer 对于较大的项目,这可能会非常快地使内存过载...您通常只想加载您实际需要的内容..当然这取决于个人用例,并且总是有这个内存使用与加载延迟之间的权衡
-
@derHugo 但它是一个小游戏,我想在菜单场景和仅包含画布、1 个图像和 2 个文本框的场景之间切换。但是当我从画布场景切换到实际游戏场景时,它并没有冻结
标签: c# visual-studio unity3d