文档章节

NGUI,世界坐标,屏幕坐标转换

 呼吸了哦
发布于 2017/08/29 09:07
字数 248
阅读 6
收藏 0
点赞 0
评论 0

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);

© 著作权归作者所有

共有 人打赏支持
粉丝 0
博文 20
码字总数 3139
作品 0
沈阳
NGUI虚拟摇杆,解决屏幕坐标系的坑

本篇是对博主“君莫笑”代码进行的详细解读与改进。 君莫笑: https://www.cnblogs.com/Firepad-magic/p/5503347.html 一 准备工作: 注意:屏幕坐标系和世界坐标系用的不是同一个坐标系,如...

qq_34829967 ⋅ 04/14 ⋅ 0

Unity中鼠标拖动物体移动的算法

鼠标拖动物移动在游戏设计上用的非常多,像飞机射击游戏,我来分享下我的思路: 我的思路: 因为鼠标的屏幕坐标是二维的,物体是世界坐标,三维的。首先将鼠标的屏幕坐标转换为三维的世界坐标...

水木清华winer ⋅ 2016/11/02 ⋅ 0

世界坐标系,本地坐标系,opengl坐标系,屏幕坐标系

bool HelloWorld::init(){ bool bRet = false; do { CCBREAKIF(! CCLayer::init());//opengl的坐标系和世界坐标系相同,都是以屏幕左下角为原点,向右为x轴的增加方向,向上为y轴的增加方向/...

_子墨 ⋅ 2014/12/02 ⋅ 0

Unity世界坐标与本地坐标的一种转换方法

Unity有世界坐标、本地坐标(localposition)、UI坐标(这个我好像还没怎么用)、屏幕坐标等等,之前的一个项目需要考虑世界坐标转换为本地坐标,后来经过一番尝试,找到了一种比较取巧的方法...

li727507857 ⋅ 2017/04/26 ⋅ 0

【Cocos2d-x】开发基础-Cocos2d-x坐标系

本篇博客讲解: 1.UI坐标 2.OpenGL坐标 3.世界坐标和模型坐标 4.实例:世界坐标转换为模型坐标 5.实例:模型坐标转换为世界坐标 UI坐标和OpenGL坐标 UI坐标就是Android和iOS等应用开发的时候使...

qq_26525215 ⋅ 2017/07/01 ⋅ 0

图形渲染过程中的矩阵变换

总体上来说就是4个步骤: 模型变换:模型自身坐标到世界坐标的转变 视点变换:设置视点,模型的世界坐标到相机坐标的转变 投影变换:设置视锥体(即透视类型),第一步将相机坐标转为平面坐标...

yintao ⋅ 2014/03/19 ⋅ 0

Cocos2d-JS坐标系

在图形图像和游戏应用开发中坐标系是非常重要的,我们在Android和iOS等平台应用开发的时候使用的二维坐标系它的原点是在左上角的。而在Cocos2d-JS坐标系中它原点是在左下角的,而且Cocos2d-J...

智捷课堂 ⋅ 2015/03/21 ⋅ 0

【图形学基础】采用深度缓冲的三角形光栅化

标题关键词有两个,“深度缓冲”、“三角形光栅化” 首先解释三角形光栅化。 1.三角形是怎么来的(即为什么要用三角形):在做三维物体渲染时,一般将物体表面分为多个连续的面片,1.低于三角...

m0_37951757 ⋅ 04/19 ⋅ 0

Cocos2d-x-v3坐标体系

Cocos2d-x坐标体系 cocos2d引擎是一款非常优秀的扩平台的游戏开发引擎,在apple游戏榜上,有很多排名靠前的游戏都是由他创造出来的,他也有一套十分方便的坐标体系。 一、UI坐标体系 UI坐标体...

珲少 ⋅ 2015/08/03 ⋅ 0

理解Windows坐标系

附件:http://down.51cto.com/data/2355021 本文转自 xchsp 51CTO博客,原文链接:http://blog.51cto.com/freebird/269061,如需转载请自行联系原作者...

余二五 ⋅ 2017/11/15 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

解决CentOS6、7,/etc/sysconfig/下没有iptables的问题

一、Centos 6版本解决办法: 1.任意运行一条iptables防火墙规则配置命令: iptables -P OUTPUT ACCEPT 2.对iptables服务进行保存: service iptables save 3.重启iptables服务: service ...

寰宇01 ⋅ 37分钟前 ⋅ 2

数据库备份和恢复

备份:mysqldump -u root -p 数据库>磁盘路径 恢复:mysql -u root -p 数据库<sql脚本的磁盘路径

anlve ⋅ 今天 ⋅ 0

发生了什么?Linus 又发怒了?

在一个 Linux 内核 4.18-rc1 的 Pull Request 中,开发者 Andy Shevchenko 表示其在对设备属性框架进行更新时,移除了 union 别名,这引发了 Linus 的暴怒。 这一次 Linus Torvalds 发怒的原...

问题终结者 ⋅ 今天 ⋅ 0

在树莓派上搭建一个maven仓库

在树莓派上搭建一个maven仓库 20180618 lambo init 项目说明 家里有台树莓派性能太慢。想搭建一个maven私服, 使用nexus或者 jfrog-artifactory 运行的够呛。怎么办呢,手写一个吧.所在这个...

林小宝 ⋅ 今天 ⋅ 0

Spring发展历程总结

转自与 https://www.cnblogs.com/RunForLove/p/4641672.html 目前很多公司的架构,从Struts2迁移到了SpringMVC。你有想过为什么不使用Servlet+JSP来构建Java web项目,而是采用SpringMVC呢?...

onedotdot ⋅ 今天 ⋅ 0

Python模块/包/库安装(6种方法)

Python模块/包/库安装(6种方法) 冰颖机器人 2016-11-29 21:33:26 一、方法1: 单文件模块 直接把文件拷贝到 $python_dir/Lib 二、方法2: 多文件模块,带setup.py 下载模块包(压缩文件zip...

cswangyx ⋅ 今天 ⋅ 0

零基础学习大数据人工智能,学习路线篇!系统规划大数据之路?

大数据处理技术怎么学习呢?首先我们要学习Python语言和Linux操作系统,这两个是学习大数据的基础,学习的顺序不分前后。 Python:Python 的排名从去年开始就借助人工智能持续上升,现在它已经...

董黎明 ⋅ 今天 ⋅ 0

openJdk和sun jdk的区别

使用过LINUX的人都应该知道,在大多数LINUX发行版本里,内置或者通过软件源安装JDK的话,都是安装的OpenJDK, 那么到底什么是OpenJDK,它与SUN JDK有什么关系和区别呢? 历史上的原因是,Ope...

jason_kiss ⋅ 今天 ⋅ 0

梳理

Redux 是 JavaScript 状态容器,提供可预测化的状态管理。 它是JS的状态容器,是一种解决问题的方式,所以即可以用于 react 也可以用于 vue。 需要理解其思想及实现方式。 应用中所有的 stat...

分秒 ⋅ 今天 ⋅ 0

Java 后台判断是否为ajax请求

/** * 是否是Ajax请求 * @param request * @return */public static boolean isAjax(ServletRequest request){return "XMLHttpRequest".equalsIgnoreCase(((HttpServletReques......

JavaSon712 ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部