unity3d中点击一个物体控制另一个物体的消失与显现
实现效果如下,可以设置被控制物体的初始状态。
实现步骤如下:
1、在Hierarchy建立两个物体,一个是控制物体,一个是被控制物体,可以自由命名。如图所示。
2、给场景中的Main Camera添加PhysicsRaycaster脚本。
3、给场景中的控制物体加上Event System。
4、点击Add Default Input Modules,不用改变参数。
5、确保控制的物体勾选Box collider,添加我们的自己写的脚本ControlHide(后面会给出),把控制物体和被控制的物体分别拖入相应的框内。脚本中的Original State代表被控制物体的初始状态,勾选说明被控制物体初始状态是显现。
6、点击运行,就能实现我们想要的效果了。
ControlHide代码如下
using UnityEngine;
using UnityEngine.EventSystems;
using System.Collections;
using System.Collections.Generic;
using UnityEngine.UI;
public class ControlHide : MonoBehaviour, IPointerClickHandler
{
public GameObject control;//控制的模型,具有button的功能
public GameObject controled;//被控制的模型
public bool OriginalState;//被控制模型的初始状态,初始状态是显示还是隐藏,
void Start()
{
controled.SetActive(OriginalState);//开始时的显示状态
}
public void OnPointerClick(PointerEventData eventData)
{
controled.SetActive(!controled.activeSelf);//显示/隐藏物体
}
}



