Unity3D

mac2025-04-27  5

我创建了两个 游戏物体 分别是 Cube 和 Image

并且 分别挂载了 Cube 和 Img脚本

Cube 身上的 Cube脚本代码

using System.Collections; using System.Collections.Generic; using UnityEngine.EventSystems; //需要导入 using UnityEngine; public class cube : MonoBehaviour,IPointerClickHandler //继承点击接口 { Material material; int index = 1; //控制点击时候改变的颜色 // Start is called before the first frame update void Start() { //获取cube上的 材质 material = transform.GetComponent<MeshRenderer>().material; } // Update is called once per frame void Update() { } private void OnMouseDown2() { if (index == 1) { material.color = Color.blue; index = 2; } else { material.color = Color.green; index = 1; } } //实现点击接口 的方法 public void OnPointerClick(PointerEventData eventData) { OnMouseDown2(); } }

 

Img 脚本的代码

using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.EventSystems; //需要导入 using UnityEngine.UI; public class img : MonoBehaviour, IPointerClickHandler //继承点击接口 { Color material; int index = 1; //控制点击时候改变的颜色 // Start is called before the first frame update void Start() { material = transform.GetComponent<Image>().color; } // Update is called once per frame void Update() { } private void OnMouseDown2() { if (index == 1) { transform.GetComponent<Image>().color = Color.blue; index = 2; } else { transform.GetComponent<Image>().color = Color.green; index = 1; } } //实现点击接口 的方法 public void OnPointerClick(PointerEventData eventData) { OnMouseDown2(); } }

 

实现 点击响应各自身上的 脚本 只需要 实现IPointerClickHandler接口 

并且 在 Camera相机上 加上 Physics Raycaster 脚本

就可以实现了

最新回复(0)