要求是点击屏幕某个点,当前点生成一个ui。代码如下
Camera uicamera;
uicamera = NGUITools.FindCameraForLayer(8);
private void Update()
{
if (Input.GetMouseButtonDown(0))
{
Vector3 vec =uicamera.ScreenToWorldPoint(Input.mousePosition);
buttleObj.transform.position = vec;
buttleObj.transform.SetParent(buttleParentTran,false);
}
}
先获取ngui 的相机,然后把点击坐标转换成ngui坐标。遇到一个坑,转换后的坐标为世界坐标,所以赋值的时候赋值position而不是localposition,如果要把设置父物体而不改变世界坐标的话,setparent后面一个参数传false就行。
记录一下。