【发布时间】:2021-11-01 12:56:03
【问题描述】:
当玩家失败时,我试图重新开始我的游戏,我玩了一个协程,让玩家忽略碰撞和从平台上掉下来。然后当玩家点击一个按钮时,相同的场景被重新加载。
SceneManager.LoadScene("GameScene")
但是当场景再次加载时,玩家仍然会忽略碰撞而摔倒,这就像场景加载但第一次玩游戏时的方式不同。
¿如何在不关闭应用程序并再次打开它的情况下正确重新加载场景?
谢谢。
【问题讨论】:
-
这不应该发生,加载场景应该足以将所有对象重置为其初始设置。除非该对象被标记为“不要在加载时销毁”。或者你修改了一些不是对象属性的东西。你究竟做了什么让玩家忽略碰撞?您是否偶然使用了 Physics.IgnoreLayerCollision 或类似的东西?
-
是的,我在协程中使用 Physics2D.IgnoreLayerCollision,我认为重新加载场景是重置所有设置的最佳选择,但我不明白为什么会发生这种情况。
-
玩家是单身还是使用
static或DontDestroyOnLoad的东西? -
是的,我对播放器使用了单例模式,但是重新加载场景不会破坏播放器?
标签: c# unity3d scene-manager