2015-04-16 46 views
1

我目前正在開發一款支持Marble Blast Gold/Ultra的遊戲。在OnTriggerEnter Unity中更改文本的CanvasGroup的Alpha

在這一點上,我有與大理石定位的文字。該文本是一個畫布的孩子,我有一個畫布組添加到文本。我最初將畫布組的alpha設置爲0,以便您看不到文本。

我想要做的就是讓你接通電源後,通過將畫布組的alpha重新更改爲1,然後一旦使用加電後將其重新設置爲0,將文本重新出現。

我似乎沒有任何運氣與我目前的代碼。

// Super Jump pickup 
    if (col.gameObject.tag == "Spring") 
    { 
     superJumpText.GetComponent<CanvasGroup>().alpha = 1; 
     canSuperJump = true; 
     canSuperSpeed = false; 
     col.gameObject.SetActive(false); 
     hitSuperJump = true; 
     Invoke("Display", 20); 
    } 

    void Update() 
{ 

    //super jump 
    if (canSuperJump) 
    { 
     if (Input.GetKeyDown(KeyCode.Mouse0)) 
     { 
      Vector3 jump = new Vector3(0, superJumpForce, 0); 
      GetComponent<Rigidbody>().AddForce(jump); 
      canSuperJump = false; 
      superJumpText.GetComponent<CanvasGroup>().alpha = 0; 
     } 
    } 
} 

回答

3

這不會爲你工作的唯一原因是,在某處你的父母,你的層次結構與其他畫布組一個遊戲對象。除非你在孩子帆布

c

+0

這將使意義,選擇'Ignore Parent Groups'複選框,這將始終覆蓋孩子畫布組設置。我甚至看到了這個選擇,它從來沒有超過我的想法。父對象上還有其他幾個畫布。當我有機會並且留下一些關於它是否有效的反饋時,我一定會檢查一下。 – COLEplusTEN