先放一段JS代码(出自:http://game.ceeger.com/forum/read.php?tid=4&fpage=2)
///
///
function Update ()
{
{
}
///
我经过实验后的理解是:
①这段代码是放在camera上的
②需要被击中的对象必须加collider
③被射中的Object可以用"hit"来调用。
例如,我可以写“hit.transform.position.x+=0.1”测试成功。
因此,可以用SendMessage来调用被击中对象自身内的函数。
例如直接调用“hit.transform.SendMessage(OnMouseDown)”的话,可以用鼠标测试单点效果了!
④Ray不会贯穿Object,当我放两个cube在有遮挡的地方,之后触发前面的碰撞。
重点语句:
①发射Ray用:
var ray : Ray = camera.ScreenPointToRay (Input.GetTouch(i).position);
②撞击用:
var hit:RaycastHit;
Physics.Raycast (ray, hit)
撞到东西,返回true值,并给“hit”赋值
///
我经过实验后的理解是:
①这段代码是放在camera上的
②需要被击中的对象必须加collider
③被射中的Object可以用"hit"来调用。
例如,我可以写“hit.transform.position.x+=0.1”测试成功。
因此,可以用SendMessage来调用被击中对象自身内的函数。
例如直接调用“hit.transform.SendMessage(OnMouseDown)”的话,可以用鼠标测试单点效果了!
④Ray不会贯穿Object,当我放两个cube在有遮挡的地方,之后触发前面的碰撞。
重点语句:
①发射Ray用:
var ray : Ray = camera.ScreenPointToRay (Input.GetTouch(i).position);
②撞击用:
var hit:RaycastHit;
Physics.Raycast (ray, hit)
撞到东西,返回true值,并给“hit”赋值