新建一个Cube物体和一个脚本Cube,将Cube脚本挂到Cube物体上,代码如下:
- using UnityEngine;
- using System.Collections;
- public class Cube : MonoBehaviour
- {
- void OnTouched()
- {
- Debug.Log("该物体被选中了!");
- }
- }
新建一个空物体,命名为TouchManager,新建一个脚本TouchManager,将该脚本挂到空物体上,代码如下:
- using UnityEngine;
- using System.Collections;
- public class TouchManager : MonoBehaviour
- {
- public Camera cam;
- private float timeHit = 0f; //用于点击的时间间隔,每次点击时间间隔应大于0.2秒
- void Update()
- {
- timeHit += Time.deltaTime;
- if (timeHit > 0.2f)
- {
- if (Input.GetMouseButton(0))
- {
- timeHit = 0f;
- RaycastHit hit;
- bool isHit = Physics.Raycast(cam.ScreenPointToRay(Input.mousePosition), out hit, 100f);
- if (isHit)
- {
- hit.collider.gameObject.SendMessage("OnTouched", SendMessageOptions.DontRequireReceiver);
- }
- }
- }
- }
- }
OK,完成!