【发布时间】:2020-11-12 00:01:01
【问题描述】:
我在一个单独的场景中使用以下脚本来保持我的对象“玩家”(它是一辆汽车)并加载另一个场景。
DontDestroyOnLoad(transform.gameObject);
SceneManager.LoadSceneAsync(1);
但是在我的游戏中,汽车的状态会像它的速度、指示器、被击中的等级一样改变。
当我点击重新开始游戏按钮时,我想将这辆车的状态重置为原始状态。
除了销毁汽车并切换回原始场景再次执行 DontDestroyOnLoad 之外,我还有什么办法可以重置汽车?
【问题讨论】:
-
如果您通过更改值怎么办。切换场景后GetComponent()?
-
使用单例模式并将引用存储在某处
static以便您可以轻松访问它。或者实际上,如果该脚本的唯一目的是存储值并且实际上本身没有任何行为,而不是直接使用不需要绑定到任何 GameObject 并且永远存在的static class -
非常感谢,我发现单例模式对我有用!
标签: unity3d