新建一个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);
}
}
}
}
}