我有我正在使用的JavaScript代码,它在我的Unity游戏中创建了一个暂停菜单 . 这是一个简单的暂停菜单,显示“主菜单" and "退出游戏”按钮 .
如何将按钮绑定到Unity中的场景?因此,如果我点击“主菜单”,我希望它将我带到 scene1 ,并用音乐按钮替换“退出游戏”按钮以打开/关闭我的音乐 .
scene1
暂停菜单脚本:
#pragma strict var musicBtnText : String = "Music: On"; var musicOn : boolean = true; var isPaused : boolean = false; function Update() { if(musicOn) { musicBtnText = "Music: On"; } else { musicBtnText = "Music: Off"; } if(Input.GetKeyDown(KeyCode.P)) { isPaused = !isPaused; if(isPaused) { Time.timeScale = 0; } else { Time.timeScale = 1; } } } function OnGUI() { if(isPaused) { if (GUI.Button(Rect(Screen.width/2-50, 240, 100, 40), "Main Menu")) { Application.LoadLevel("scene1"); } if(GUI.Button(Rect(Screen.width/2-50, 300, 100, 40), "" + musicBtnText)) { musicOn = !musicOn; GameObject.Find("cameraName").GetComponent(AudioListener).enabled = !GameObject.Find("cameraName").GetComponent(AudioListener).enabled; } } }
但是,如果你想将它实现到你自己的代码中,有一点需要注意的是,当统一按钮时,你将它们包含在if语句中 . 这样,在单击该按钮时调用if语句中的任何代码 . 至于打开和关闭音乐,你需要启用和禁用主音频监听器,默认情况下,它连接到主摄像头 . 所以在我的代码中,它说 GameObject.Find("cameraName") 用你的主相机的名称替换相机名称 . 最后,通过调用 Application.LoadLevel("levelName") 来完成加载级别 . 祝你好运!评论如果这给你任何错误,我很乐意提供帮助 .
GameObject.Find("cameraName")
Application.LoadLevel("levelName")
In C#:
using UnityEngine; using System.Collections; public class PauseMenu : MonoBehaviour { public string musicBtnText = "Music: On"; public bool musicOn = true; public bool isPaused = false; void Update() { if(musicOn) { musicBtnText = "Music: On"; } else { musicBtnText = "Music: Off"; } if(Input.GetKeyDown(KeyCode.P)) { isPaused = !isPaused; if(isPaused) { Time.timeScale = 0; } else { Time.timeScale = 1; } } } void OnGUI() { if(isPaused) { if (GUI.Button(new Rect(Screen.width/2-50, 240, 100, 40), "Main Menu")) { Application.LoadLevel("scene1"); } if(GUI.Button(new Rect(Screen.width/2-50, 300, 100, 40), "" + musicBtnText)) { musicOn = !musicOn; GameObject.Find("cameraName").GetComponent<AudioListener>().enabled = !GameObject.Find("cameraName").GetComponent<AudioListener>().enabled; } } } }
1 回答
暂停菜单脚本:
但是,如果你想将它实现到你自己的代码中,有一点需要注意的是,当统一按钮时,你将它们包含在if语句中 . 这样,在单击该按钮时调用if语句中的任何代码 . 至于打开和关闭音乐,你需要启用和禁用主音频监听器,默认情况下,它连接到主摄像头 . 所以在我的代码中,它说
GameObject.Find("cameraName")
用你的主相机的名称替换相机名称 . 最后,通过调用Application.LoadLevel("levelName")
来完成加载级别 . 祝你好运!评论如果这给你任何错误,我很乐意提供帮助 .In C#: