在cocos2d-x在,有几种不同的坐标系。

因为有好几个坐标系着一定的差异,他们需要明白,能力更精确的绘制各种图形画面上。

1.屏幕坐标系

只windows通过绘制图形上基本都知道。相应的坐标系统:原点在左上角。向右是x轴正方向,向下时y轴正方向。cocos2d-x中的屏幕坐标系也是这种。我们手机的屏幕就是相应的屏幕坐标系。当我们用手点击手机屏幕,得到的点就是相应的屏幕坐标系的坐标。

2.OpenGL坐标系

OpenGL坐标系是在cocos2d-x中进行计算时使用的坐标系。它的原点是屏幕左下角,向右是x轴正方向,向上市y轴正方向。因为它与屏幕坐标系不一样,所以当我们得到屏幕坐标系下的坐标时,得先将其转换为OpenGL坐标系下的坐标,才干进行对应的计算,如触屏事件中,得到的坐标,每次都得先进行转换。将屏幕坐标转换为OpenGL坐标,能够使用CCDirector的convertToGL函数。

3.世界坐标系

一个游戏就相当于一个虚拟的世界。在这个游戏世界中。每一个物体都有它相相应的位置,亦就是坐标。所以能够说世界坐标系就是相应于整个游戏的坐标系,是一个物体在游戏世界里的绝对坐标系。

4.相对坐标

虽然我们在设置物体的坐标的时候能够直接定义它在世界坐标系中的绝对坐标。可是在cocos2d-x中使用较多的却是相对坐标。由于在cocos2d-x中是以树的形式组织对象的,所以一个子节点对象的坐标系仅仅參考它的父节点对象。所以叫作相对坐标。

就好比一个人,在汽车里,无论汽车在地面上怎么开动,仅仅要这个人在汽车上保持不动。他在相对于汽车的坐标系里面的坐标是不变的。cocos2d-x中的setPosition函数设置的就是其相对于父节点的坐标。而不是世界坐标。

设置相对坐标的优点是显而易见的。一个物体可能有非常多部分组成,当须要移动或者总体旋转缩放时,我们能够把它增加一个CCNode里面。然后直接到CCNode操作到。便利。

版权声明:本文博客原创文章,博客,未经同意,不得转载。

最新文章

  1. Markdown 新手指南
  2. Selenium碰到的异常记录
  3. jquery EasyUI
  4. 学习Git
  5. Android配置----Eclipse+BlueStacks调试Android应用
  6. ios中常用数据类型相互转换
  7. mysql 索引的原理
  8. 递归神经网络之理解长短期记忆网络(LSTM NetWorks)(转载)
  9. 武汉科技大学ACM :1008: 小t和小w
  10. Java Keyword -- super
  11. git学习基础教程
  12. ubuntu新内核不能用启动回滚到旧内核的方法
  13. 解析jQuery中extend方法--源码解析以及递归的过程《二》
  14. Linux系统挂载操作mount详解
  15. 网络基础tcp/ip协议三
  16. STM32F10x的启动汇编分析
  17. 1-51单片机WIFI学习(开发板介绍)
  18. selenium操作浏览器的前进和后退
  19. Django contenttypes 应用
  20. 启动tomcat时cmd窗口一闪而过

热门文章

  1. 在MFC程序中使用XML文件配置工具栏
  2. Android菜鸟的成长笔记(3)——给QQ登录界面说So Easy
  3. [置顶] 关于redhat系统yum源的配置1
  4. C#日期函数使用大全
  5. CentOS下yum使用代理的设置
  6. 树莓派玩耍笔记4 -- 树莓派ssh党必备的配置
  7. 不断摸索发现用 andy 模拟器很不错,感觉跟真机差不多
  8. 当Scheduler拿不到url的 时候,不能立即退出
  9. 用VBA宏从一个工作薄复制内容到另一个工作薄
  10. elf格式分析