//从角色位置向NPC发射一条经过鼠标位置的射线
Ray mRay=Camera.main.ScreenPointToRay(Input.mousePosition);
RaycastHit mHi;
if(Physics.Raycast(mRay,out mHi)) //判断是否击中了什么
{
if(Input.GetKeyDown(KeyCode.Space) || Input.GetMouseButtonDown(0))
{
if(Vector3 .Distance (this .transform.position ,mHi .transform.position )<10)
{
if(mHi.collider.gameObject.tag=="NPC")//用的是tag进行辨别
{
mHi.collider.gameObject.GetComponent ().OnMouse ();
}
}
}
}
新手自学,这是我所知道的,如果有好方法,请告诉我,多谢了。