2015-09-16 223 views
0

我有4個按鈕,按下按鈕時它們每個都會閃爍。但是,如果您按下按鈕,則在按鈕較暗(閃爍)時單擊另一個按鈕,該按鈕將保持黑暗。我想在禁用它們之前重置精靈的顏色,但它不起作用。當按下按鈕時,他們不再閃爍....如何通過Unity中的腳本更改精靈的alpha值

下面是代碼:

void Start() { 
     easy.GetComponent<SpriteRenderer>().color = color; 
    } 

    void Update() { 
     if(difficultySelected[0] == true){ 
      enemyBehavior.shotsPerSecond = 0.2f; 
      //Enabling the selected button 
      easy.enabled = true; 

      //Reseting the colors 
      normal.GetComponent<SpriteRenderer>().color = color; 
      hard.GetComponent<SpriteRenderer>().color = color; 
      expert.GetComponent<SpriteRenderer>().color = color; 

      //Disabling the 'unselected' buttons 
      normal.enabled = false; 
      hard.enabled = false; 
      expert.enabled = false; 

      easy.Play("Difficulty"); 
     }else if(difficultySelected[1] == true){ 
      enemyBehavior.shotsPerSecond = 0.5f; 
      normal.enabled = true; 

      easy.GetComponent<SpriteRenderer>().color = color; 
      hard.GetComponent<SpriteRenderer>().color = color; 
      expert.GetComponent<SpriteRenderer>().color = color; 

      easy.enabled = false; 
      hard.enabled = false; 
      expert.enabled = false; 

      normal.Play("Difficulty"); 
     }else if(difficultySelected[2] == true){ 
      enemyBehavior.shotsPerSecond = 1; 
      hard.enabled = true; 

      easy.GetComponent<SpriteRenderer>().color = color; 
      normal.GetComponent<SpriteRenderer>().color = color; 
      expert.GetComponent<SpriteRenderer>().color = color; 

      easy.enabled = false; 
      normal.enabled = false; 
      expert.enabled = false; 

      hard.Play("Difficulty"); 
     }else if(difficultySelected[3] == true){ 
      enemyBehavior.shotsPerSecond = 2; 
      expert.enabled = true; 

      easy.GetComponent<SpriteRenderer>().color = color; 
      normal.GetComponent<SpriteRenderer>().color = color; 
      hard.GetComponent<SpriteRenderer>().color = color; 

      easy.enabled = false; 
      normal.enabled = false; 
      hard.enabled = false; 

      expert.Play("Difficulty"); 
     } 
    } 
+0

聽起來像是你有你自己的提前調試任務..開始調試 – MethodMan

+0

我對Unity3d並不熟悉,但alpha通常是彩色通道。 'RGBA' ..我(認爲它是GBRA在32位targa文件中,但是您通常不需要處理託管中的字節順序..) –

+0

掩蔽是另一種適用於整個圖像/圖形/紋理 –

回答

0

你可以寫:

color.a = 1f; // value between 0 and 1, where 1 is opaque 

//Resetting the colors 
normal.GetComponent<SpriteRenderer>().color = color; 
hard.GetComponent<SpriteRenderer>().color = color; 
expert.GetComponent<SpriteRenderer>().color = color;