我的布尔变量在OnTriggerStay()

时间:2019-06-02 22:11:15

标签: c# unity3d collision-detection

这很奇怪,我想不通!

我有一个简单的布尔变量。

public bool hitBoxIsOpen;

在Start()中将其设置为 false

出于测试目的,我将其“按下按钮”设置为 True

void Update ()
{
    if (Input.GetKeyDown(KeyCode.Alpha3))
    {
        hitBoxIsOpen = true;
        print("HitBox: " + hitBoxIsOpen);
    }
}

这完全符合预期,然后打印“ True”。

那我有:

private void OnTriggerStay(Collider other)
{
    print(hitBoxIsOpen);
}

无论何时何地,此块始终打印 False

这是为什么?

1 个答案:

答案 0 :(得分:1)

如果您的对象具有“ Rigidbody”并且“ BoxCollider Component”上的“ Trigger”处于打开状态,则可以使用