0
我將一個腳本附加到我的畫布上,名爲PauseMenu,該腳本運行一次並最初暫停並恢復,但不會再次在單擊轉義時暫停。這裏是我的代碼:當我運行一個附加到我的畫布上的腳本來彈出一個暫停菜單時,它只運行一次
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
#if UNITY_EDITOR
using UnityEditor;
#endif
using RTS;
public class PauseMenu : MonoBehaviour {
Canvas canvas;
private Player player;
public Button Button2;
void Start()
{
Debug.Log ("asdf");
player = transform.root.GetComponent<Player>();
canvas = GetComponent<Canvas>();
canvas.enabled = false;
ResourceManager.MenuOpen = false;
Button2.GetComponent<Button>().onClick.AddListener(() => { Resume();});
}
void Update()
{
Debug.Log ("Jake");
if(Input.GetKeyDown(KeyCode.Escape) && ResourceManager.MenuOpen == false) Pause();
//Button2.GetComponent<Button>().onClick.AddListener(() => { Resume();});
//if(Input.GetKeyDown(KeyCode.Escape)) Pause();
//if(Input.GetKeyDown(KeyCode.Escape) && ResourceManager.MenuOpen == true) Resume();
}
public void Pause()
{
//if(Event.current.type == KeyCode.Escape)Debug.Log ("as12d12f2");
//if(Event.current.type == EventType.KeyDown)Debug.Log ("as12d12f2");
Debug.Log ("asdf2");
canvas.enabled = true;
Time.timeScale = 0.0f;
if(player) player.GetComponent<UserInput>().enabled = false;
//canvas.enabled = !canvas.enabled;
//Time.timeScale = Time.timeScale == 0 ? 1 : 0;
//ResourceManager.MenuOpen = true;
}
public void ResumePublic(){
Resume();
}
private void Resume() {
Debug.Log ("asdf1");
Time.timeScale = 1.0f;
GetComponent<PauseMenu>().enabled = false;
if(player) player.GetComponent<UserInput>().enabled = true;
Cursor.visible = false;
canvas.enabled = false;
//Screen.showCursor = false;
//GetComponent<UserInput >().enabled = true;
Debug.Log ("a2323sdf1");
ResourceManager.MenuOpen = false;
Button2.GetComponent<Button>().onClick.AddListener(() => { Resume();});
}
public void Quit()
{
#if UNITY_EDITOR
EditorApplication.isPlaying = false;
#else
Application.Quit();
#endif
}
}
正在發生的事情是,這是連接到具有己子對象button1,2and3子對象面板中的父對象畫布。並且當用戶按下轉義時,應該彈出菜單,暫停時間(它所做的)並且當按下恢復按鈕(按鈕2)或按下轉義按鈕時恢復,但是這隻能工作一次並且代碼不再運行(即更新程序不再運行) - 請有人可以幫我解決這個問題。
謝謝:)愚蠢的我不看它 – Nightshade