玩家死亡后出现按钮 - Unity3D 4.6 GUI C#

Making a button appear after player death - Unity3D 4.6 GUI C#

我怎样才能在玩家死亡后出现一个按钮?

我已经对重启级别进行了编码,并且屏幕上有使用该代码的按钮。我要怎么做才能让按钮不显示并且在玩家死亡之前不起作用?

回应以下内容。

public GameObject RESTART_BUTTON;
bool isDead = false;
void Update()
{
    if (isDead == true)
    {
        RESTART_BUTTON.gameObject.SetActive(true);
        Debug.Log("Do show game object");
    }
}

void Start()
{
    if (isDead == false)
    {
        RESTART_BUTTON.gameObject.SetActive(false);
        Debug.Log("Do Not show game object");
    }
}

void OnCollisionEnter2D(Collision2D collision)
{
    Debug.Log(collision.gameObject.tag);
    if (collision.gameObject.tag == "Death")
    {
        isDead = true;
        Debug.Log("isDead_true");
    }
}

这是我的控制台输出http://i.imgur.com/XFnOhHh.png

public void OnCollisionEnter2D(Collision2D collision)
{
    Debug.Log(collision.gameObject.tag);
    if (collision.gameObject.tag == "Death")
    {
        //Destroy(gameObject);
        isDead = true;
    } // end if including tag collision
} // End OnCollisionEnter

IEnumerator isDeath()
{
    if (isDead == true)
    {
        _animator.Play(Animator.StringToHash("Jump"));
        ;
        yield return new WaitForSeconds(2);
        Destroy(gameObject); //this will wait 5 seconds
    } // end if including boolean isDead
}
public GameObject YourButton;

当玩家活着时让按钮保持不活动状态。一旦他死了,执行下面的代码。

YourButton.gameObject.setActive(true);

这将激活屏幕上的按钮。

在 void Update() 中添加此代码并将 void start() 和 collision 中的代码更改为:

 // // Update is called once per frame
 void Update () {
 if(isDead == true){
    RESTART_BUTTON.gameObject.SetActive(true);
    }
}

void Start () {
    if(isDead == false){
    RESTART_BUTTON.gameObject.SetActive(false);
    }
 }

public void OnCollisionEnter2D(Collision2D collision){
Debug.Log(collision.gameObject.tag);
if(collision.gameObject.tag == "Death"){
    isDead = true;
} 
}

那应该够用了。