我有两个游戏对象,即objA
和objB
,后者是前者的孩子。 ObjA
处于有效状态,B
已停用。我想在指针进入时出现objB
并在指针退出时消失。我想要这不仅仅是一次,而是永远。
我尝试使用objA
附加的代码来控制objB
的可见性,但它不成功。有人可以帮助我PLZ:
using UnityEngine;
using UnityEngine.EventSystems;
public class eventvisbtoggle : MonoBehaviour
{
public void PointerEnter(BaseEventData eventData)
{
ObjB.gameobject.SetActive(true);
}
public void PointerExit(BaseEventData eventData)
{
ObjB.gameobject.SetActive(false);
}
}
答案 0 :(得分:0)
GameObject的启用状态与其是否可见之间存在差异。 active确定脚本和附加到对象的其他组件是否起作用。一个名为Renderer的组件实际上是在场景中绘制GameObject的。您要做的是禁用附加到对象的渲染器
foreach(var r in GetComponentsInChildren<Renderer>()){
r.enabled = false;
}
请注意,这是非常慢的代码,您应该使用编辑器为脚本分配适当的渲染器,但这只是一个示例。