码迷,mamicode.com
首页 > 其他好文 > 详细

Cocos2d-x v3.1 坐标系统(五)

时间:2014-07-02 09:38:35      阅读:202      评论:0      收藏:0      [点我收藏+]

标签:cocos2d-x   cocos2d-x坐标系统   

Cocos2d-x v3.1 坐标系统(五)

 

    为了能够更好的布局以及了解对象所在的位置,我们必须对Cocos2d-x中的坐标有详细的了解,本篇文章主要就是了解Cocos中用到的坐标系统。学过数学的人都知道“笛卡儿坐标系统”,在“笛卡儿坐标系统”中又分为了左手坐标系和右手坐标系。我们所了解的Direct3D和OpenGL分别使用了“左手坐标系统”和“右手坐标系统”,那Cocos2d-x使用的是什么样的做坐标系统呢?由于Cocos2d-x是基于OpenGL开发的当就使用了右手坐标系统。由于Cocos2d-x是一个2D的游戏引擎所有我们只用到了X和Y轴。

    前面只是普及了哈坐标系统的概念,那究竟在Cocos2d-x中有几个坐标系统呢?

 

1. OpenGL坐标系

    坐标原点在屏幕的左下方,X轴向右为正,Y轴向上为正。如下图:

 bubuko.com,布布扣

                            图.1

2. 世界坐标系

    也叫绝对坐标系,原点与OpenGL坐标系原点位置一致。“世界”指游戏世界,它建立了描述其他坐标系所需要的参考标准。如图.1

3. 屏幕坐标系统

    也叫UI坐标系,主要用于我们在触摸屏幕时,那个触摸点就是传入的屏幕坐标,原点在左上角X轴向右为正,Y轴向下为正。

  bubuko.com,布布扣

                                    图.2

4. 本地坐标系

    也叫相对坐标系,它是相对于父节点的。它的坐标原点在父对象的左下角。假设我们在场景中有两个对象Node1和Node2.Node1是Node2的父节点,Node1的位置是Vec2(200, 200)。Node2的位置为Vec(0,0),锚点为Vec2(0.5, 0.5),此时Node2的位置就是相对位置,它是相对于Node1的。效果如图.3所示:

   bubuko.com,布布扣

                           图.3

锚点

    锚点就是对象(Node及派生对象)的一个定位点,我们对于对象的定位,旋转都是基于锚点的。默认对象的锚点是Vec2(0.5, 0.5)也就是在对象的中心。如下图.4所示:

bubuko.com,布布扣

         图.4

中间那个红点就是锚点,当然我么也可以把锚点设置到其他位置。比如我们将它的锚点设置为Vec2(0, 0)。也就是对象的左下角。如图.5所示:

bubuko.com,布布扣

         图.5

Cocos2d-x v3.1 坐标系统(五),布布扣,bubuko.com

Cocos2d-x v3.1 坐标系统(五)

标签:cocos2d-x   cocos2d-x坐标系统   

原文地址:http://blog.csdn.net/zw514159799/article/details/36208969

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!