2015-05-04 59 views
0

如何在此腳本中通過按下鼠標左鍵來添加倒計時?每次點擊計數減1.例如10,9,8,7,6,5,4,3,2,1,0?目前在這個腳本中不起作用,我不明白這個問題。通過按下按鈕進行倒計時

#pragma strict 
 
    
 
var myTrigger : GameObject; 
 
var myObject : GameObject; 
 
var countAmmo : int = 10 ; 
 
    
 
private var score : int = 10; 
 
var guiScore : GUIText; 
 
    
 
function Start() 
 
{ 
 
    
 
guiScore.text = "Score: 10"; 
 
    
 
} 
 
     
 
     
 
     
 
    function Update() 
 
     { 
 
    
 
     if(Input.GetButtonDown("Fire1")) 
 
    
 
      countAmmo = countAmmo -1; 
 
      score = countAmmo -1;   
 
      
 
      if(countAmmo == 0) 
 
      if(score == -1) 
 
      
 
        
 
      {   
 
      myObject.SetActive(false);  
 
      } 
 
      
 
      else 
 
      
 
      { 
 
      
 
      guiScore.text = "Score: -1"; 
 
      
 
      
 
      
 
      myObject.SetActive(true); 
 
      } 
 
     
 
    
 
     
 
     
 
     } 
 

回答

0

我完全不知道這是一種語言或在環境下,你正在努力實現這一點,但看你的代碼似乎它只是一些括號中的問題你的if子句。嘗試一下,不保證它的工作。

#pragma strict 

var myTrigger : GameObject; 
var myObject : GameObject; 
var countAmmo : int = 10 ; 

private var score : int = 10; 
var guiScore : GUIText; 

function Start() 
{ 
    guiScore.text = "Score: 10"; 
} 

function Update() 
{ 
     if(Input.GetButtonDown("Fire1")) 
     { 
      countAmmo = countAmmo -1; 
      score = countAmmo -1; 
      guiScore.text = "Score: " + score.ToString(); 

      if(countAmmo <= 0) 
      { 
       if(score == -1) 
       { 
        myObject.SetActive(false); 
       } else { 
        guiScore.text = "Score: -1"; 
       } 

       myObject.SetActive(true); 
      } 
     } 
} 
+0

我試過,但劇本不工作。 在這裏,我不能顯示我阻止的圖片。 我放了一個鏈接來顯示圖像,以更好地理解問題。 http://answers.unity3d.com/questions/959673/countdown-by-pressing-a-button.html –

+0

好的,我對Unity不太熟悉,但是如果你想更新屏幕上的文字,你必須在你的代碼中這樣做...添加一個guiScore.text =「Score:」+ score.ToString();在你的if語句中......看到我上面編輯過的帖子! –

0

這條線:

guiScore.text = "Score: -1"; 

應該是:

guiScore.text = "Score:" + score; 
0
#pragma strict 

var myTrigger : GameObject; 
var myObject : GameObject; 
var countAmmo : int = 10 ; 

private var score : int = 10; 
var guiScore : GUIText; 

function Start() 
{ 

guiScore.text = "Score: " + score.toString(); 

} 

    function Update() 
     { 

     if(Input.GetButtonDown("Fire1")) 

      countAmmo--; 
      score = countAmmo - 1;   

     if(countAmmo == 0) 
     { 
      if(score == -1)  
      {   
      myObject.SetActive(false); 
      } 
      else 
      { 
      guiScore.text = "Score: " + score.ToString(); 
      myObject.SetActive(true); 
      } 
     } 
    }