首页 > 解决方案 > 在Unity中按下拾取按钮(X)时如何销毁碰撞的游戏对象

问题描述

当玩家进入触发器并按 x 拾取它时,我需要让我的游戏对象(拾取)被破坏。

这就是我到目前为止所得到的。这是在需要销毁的皮卡上:

public void Update()
{
    if (UIManager.XButtonPressed == true)
    {
        UIManager.AbleTopickUp = false;
        UIManager.XButtonPressed = false;
        Destroy(this.gameObject);
        Debug.Log("Destroyed the pickup.");
    }
}


void OnTriggerEnter(Collider collision)
{
    if (collision.gameObject.name == "Player")
    {
        UIManager.AbleTopickUp = true;
    }
}

void OnTriggerExit(Collider collision)
{
    if (collision.gameObject.name == "Player")
    {
        UIManager.AbleTopickUp = true;
    }
}

这是在与拾取器触发器发生碰撞的玩家身上:

if (UIManager.AbleTopickUp)
{
    if (Input.GetButtonDown("XButton"))
    {
        UIManager.XButtonPressed = true;
        if (currentSlot == 1)
        {
            Slot1_W = 1;
        }

        if (currentSlot == 2)
        {
            Slot2_W = 1;
        }

        if (currentSlot == 3)
        {
            Slot3_W = 1;
        }
    }
}

任何帮助将不胜感激

标签: c#unity3d

解决方案


替换OnTriggerEnterOnTriggerStay


推荐阅读