首页 > 解决方案 > 如何让程序通过进入和退出触发器使对象出现和消失?

问题描述

我需要一个代码来使对象在我进入触发对象时出现并在退出触发对象时消失。

GameObject GhostApparition;
    // Use this for initialization
    void OnTriggerEnter (Collider other)
    {
        if (other.CompareTag("Player")) ;
        {
            //????
        }
    }

我希望对象在我进入触发对象时出现,并在我退出对象时消失。实际的网格也应该消失。

标签: c#unity3d

解决方案


要解决此问题,只需执行以下操作:

GameObject GhostApparition;
    // Use this for initialization
    void OnTriggerEnter (Collider other)
    {
        if (other.tag == "Player") ;
        {
             GhostApparition.SetActive(true);
        }
    }

    void OnTriggerExit (Collider other)
    {
        if (other.tag == "Player") ;
        {
             GhostApparition.SetActive(false);
        }
    }

但请注意,当您使用包含行为的 GameObjects 进行操作时。如果您停用它,然后再次激活,它将再次运行 void Start 并重置您的变量。有时你不会想要它。

所以我建议,在这些时候,你只需停用GameObject MeshRenderer组件。


推荐阅读