2014-02-23 48 views
0

當玩家擊中p按鈕,它會暫停遊戲,但它不會工作Unity3D:暫停菜單布爾不工作

我在做什麼錯在這裏? 我宣佈私人VAR isPaused得到

private var ispaused = false; 

這裏是我的代碼

function Update() { 
if(Input.GetKeyDown("p")){ 
if(!ispaused){ 
Time.timeScale = 0; 
ispaused = true; 
} 
if(ispaused){ 
Time.timeScale = 1; 
ispaused = false; 
} 
} 
} 

回答

0

編輯:你說的沒錯,關鍵映射是正確的畢竟。

第二條if語句需要是else if。現在,您每次點擊p時都會經歷兩條if語句,將布爾值有效設置爲true,然後再次立即false

這裏的工作代碼:

function Update() { 
    if(Input.GetKeyDown("p")) { 
     if (!ispaused) { 
      Time.timeScale = 0; 
      ispaused = true; 
     } else if (ispaused) { 
      Time.timeScale = 1; 
      ispaused = false; 
     } 
    } 
} 
+0

的問題是不是與輸入但isPaused得到 – SilenT612

+0

的if語句你說的沒錯。用一個可行的解決方案更新了答案。 –

+1

非常感謝! – SilenT612