c# - 如何让程序通过进入和退出触发器使对象出现和消失?
问题描述
我需要一个代码来使对象在我进入触发对象时出现并在退出触发对象时消失。
GameObject GhostApparition;
// Use this for initialization
void OnTriggerEnter (Collider other)
{
if (other.CompareTag("Player")) ;
{
//????
}
}
我希望对象在我进入触发对象时出现,并在我退出对象时消失。实际的网格也应该消失。
解决方案
要解决此问题,只需执行以下操作:
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组件。
推荐阅读
- python - 我可以访问包含另一个类的对象列表的对象的属性吗
- php - Woocommerce 价格排序不起作用
- postgresql - Postgres 查找名称错误的关系
- c++ - 使用 GCC 将具有模板化方法的类作为模板参数传递
- vba - 如何从范围创建新文件
- angular - 自动完成应用程序不起作用
- python - 使用 agg & join 对一列进行分组,但仅限于唯一值
- c# - EntityFramework - 引用的表中没有主键或候选键
- sql - MS SQL Server:更改 smalldatetime 列的时间
- java - Recyclerview 中的LinearLayout,另一个RecyclerView 中的另一个LinearLayout