Unity有五个物体,每个物体进入一次触发器,index+1,当进入第五次时,显示一个物体,示例代码
时间: 2024-10-29 17:24:47 浏览: 22
在Unity中,我们可以利用C#脚本来实现这个功能。首先,我们需要创建一个空的GameObject,然后给每个需要进入触发器的物体添加相同的` OnTriggerEnter()`事件监听器。当物体进入触发器时,我们检查当前的索引并更新它,如果达到5,就显示预设好的物体。
这是一个简单的示例代码:
```csharp
using UnityEngine;
public class TriggerHandler : MonoBehaviour
{
private int index = 0;
public GameObject displayObject; // 需要显示的物体
void OnTriggerEnter(Collider other)
{
index++;
if (index == 5) // 当进入第五次触发器
{
displayObject.SetActive(true); // 显示预设物体
Debug.Log("显示物体已激活"); // 输出日志信息
}
else
{
Debug.Log($"物体{index}进入了触发器");
}
}
void OnTriggerExit(Collider other)
{
// 当物体离开触发器,重置索引
index = 0;
displayObject.SetActive(false);
}
}
```
在这个例子中,`OnTriggerEnter()`会在物体进入触发器时被调用,`OnTriggerExit()`则在物体离开时调用。请注意,你需要将`displayObject`替换为你游戏中对应的显示对象,并将其拖到Unity场景中的`displayObject`变量上。
阅读全文