1

当玩家失败时,我试图重新开始我的游戏,我玩了一个协程,让玩家忽略碰撞并从平台上掉下来。然后当玩家点击一个按钮时,相同的场景被重新加载。

SceneManager.LoadScene("GameScene")

但是当场景再次加载时,玩家仍然会忽略碰撞并摔倒,就像第一次玩游戏时加载了场景但方式不同。

¿ 如何在不关闭应用程序并再次打开它的情况下正确重新加载场景?

谢谢你。

4

1 回答 1

1

问题是您正在Physics2D.IgnoreLayerCollision为此使用。

该属性是全局的,它影响所有场景,与特定场景无关。重置的只是与SceneManager.LoadScene特定场景或场景中的对象相关的属性。

您在这里有 2 个选项:

  1. 不要使用IgnoreLayerCollision. 例如,一种替代方法可能是禁用播放器上的所有碰撞器。例如,您可以使用GetComponentsInChildren来查找所有对撞机。

  2. IgnoreLayerCollision手动重置。

于 2021-11-01T19:56:45.197 回答