C# 在Unity C中生成全局函数#
有人能给我指一个可以在unity中实现全局“后退按钮”功能的教程吗 目前,我可以通过“更新”功能用此代码覆盖它C# 在Unity C中生成全局函数#,c#,unity3d,C#,Unity3d,有人能给我指一个可以在unity中实现全局“后退按钮”功能的教程吗 目前,我可以通过“更新”功能用此代码覆盖它 if (Input.GetKeyDown(KeyCode.Escape)) { //Do something you need Debug.Log("Back button is pressed"); } 然而,缺点是,我需要在每个场景中的一个活动“Gameobject”中附加此功能 是否有任何方法可以使此函数全局化,从而使此“更新”函数始终在每个场景中侦听?您可以将此脚
if (Input.GetKeyDown(KeyCode.Escape))
{
//Do something you need
Debug.Log("Back button is pressed");
}
然而,缺点是,我需要在每个场景中的一个活动“Gameobject”中附加此功能
是否有任何方法可以使此函数全局化,从而使此“更新”函数始终在每个场景中侦听?您可以将此脚本附加到初始场景中的游戏对象上
void Awake(){
DontDestroyOnLoad(this.gameObject);
}
void Update(){
if (Input.GetKeyDown(KeyCode.Escape))
{
//Do something you need
Debug.Log("Back button is pressed");
}
}
DontDestroyOnLoad
使游戏对象在离开场景后保持不变
要更改场景,可以使用以下选项之一调用SceneManager.LoadScene
:
关闭所有当前加载的场景并加载场景Single
将场景添加到当前加载的场景中Additive
Single
选项导航到下一个场景,在下一个场景中保持持久(DontDestroyOnLoad)对象,同时丢弃仅属于上一个场景的其他对象
此外,如果您需要方便的访问,您可以将其设置为单身:
public static MyMonobehaviour Instance;
void Awake(){
Instance = this;
DontDestroyOnLoad(this.gameObject);
}
void Update(){
...
}
“我需要在每个场景中的每个“游戏对象”中附加这个功能。”不,你为什么这么想?包含该代码的脚本应该只附加到一个活动的游戏对象,它应该可以工作是的,我指的是一个活动的“游戏对象”。谢谢你指出这一点。。。我已经编辑了问题Bijan的答案很可能是你想要的need@Hikari我还在我的答案中添加了更多关于LoadScene的注释。我使用了Bijan的答案。。。。也谢谢你的帮助(⌒_⌒;)回答得很好!!非常感谢你的帮助,比扬!('65377;ω··································♡
public static MyMonobehaviour Instance;
void Awake(){
Instance = this;
DontDestroyOnLoad(this.gameObject);
}
void Update(){
...
}