繁体   English   中英

播放器死亡后使按钮出现-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()中的代码更改为:

 // // 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;
} 
}

那应该做有需要的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM