点中物体移动位置(根据光线判断)
var layerMask = 1 << 4; //层
var hit : RaycastHit; //光
var hit1: RaycastHit; //光
var hitflag : boolean;
var hitobject : Transform;
var hitflag1 : boolean;
function Start()
{
layerMask = ~layerMask; //层取反
hitflag=false;
hitobject=null;
}
function Update ()
{
var ray = Camera.main.ScreenPointToRay (Input.mousePosition);
if (Physics.Raycast (ray, hit, Mathf.Infinity)&&Input.GetKey (KeyCode.Mouse0))
{
Debug.DrawLine (ray.origin, hit.point);
print(hit.transform.localScale );
print(hit.transform.name);
//~ if(hit.transform.tag=="Goods"&&hitflag1) //标签
if(hit.transform.tag=="Goods")
{
if (hitflag==false)
{
hitobject=hit.transform;
hitflag=true;
}
}
if(hitflag&&hitobject!=null) //选中物体
{
Physics.Raycast (ray, hit1, Mathf.Infinity,layerMask); //打光
hitobject.position=hit1.point; //物体的坐标等于光2的碰撞点
}
}
if (Input.GetKeyUp (KeyCode.Mouse0))
{
hitflag=false;
hitobject=null;
}
}
本条目发布于2010年6月7日。属于Unity脚本分类。