1.世界坐标转屏幕坐标假定世界有一点坐标为pos,其转换为屏幕坐标为:Camera.main.WorldToScreenPoint(pos);

2.屏幕坐标转世界坐标假定屏幕有一点坐标为pos,其转换为世界坐标为:Camera.main.ScreenToWorldPoint(pos);

3.屏幕坐标转NGUI坐标假定屏幕有一点坐标为pos,其转换为NGUI坐标为:UICamera.currentCamera.ScreenToWorldPoint(pos);

这个需要注意的是,得到的坐标为全球坐标,而不是本地坐标,所以NGUI的组件设置位置需要设置position而不是localPosition

4.NGUI坐标转屏幕坐标假定NGUI有一点坐标为pos,其转换为NGUI坐标为:UICamera.currentCamera.WorldToScreenPoint(pos);

5.世界坐标转NGUI坐标假定屏幕有一点世界为pos,其转换为NGUI坐标为:需要先把世界坐标转为屏幕坐标

Vector3 screenPos=Camera.main.WorldToScreenPoint(pos);

然后再把屏幕坐标转NGUI坐标UICamera.currentCamera.ScreenToWorldPoint(screenPos);