- 最后登录
- 2021-7-6
- 注册时间
- 2012-12-27
- 阅读权限
- 90
- 积分
- 76145
 
- 纳金币
- 53520
- 精华
- 316
|
网上搜索了很久看到了一个,看到了一个人说鼠标点是一个世界坐标这个观点是错误的
鼠标垫就是屏幕点
UICamera.currentCamera.ScreenToWorldPoint(pos); 这个点的返回值就是屏幕上鼠标点击的点,
直接在这个坐标位置生成图片就可以
下标是源博客
Unity程序沉淀1-NGUI,世界坐标,屏幕坐标转换 (2016-06-24 14:45:19)

转载
▼
标签: unity ngui
分类: 游戏制作
正文开始
其实这个网上教程已经很多,但是我还是需要发布这篇博文以作沉淀之用
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);
文章来源:
http://www.manew.com/blog-252311-43318.html
|
|