COCOS2D坐标系统的一些说明

原创 2012年03月21日 18:05:53

COCOS2D坐标系统的一些说明

     

cocos2d支持以下几种坐标系:

1.屏幕坐标系 原点在左上角,X轴向右,Y轴向下。

2.GL坐标系 原点在左下角,X轴向右,Y轴向上。

3.世界坐标系 指相对于整个屏幕的坐标系,(0,0)就是屏幕的左下角,(320,480)就是屏幕的右上角。

4.本地坐标系 相对于父对象的坐标

基本的两个坐标系:屏幕坐标系和GL坐标系。
屏幕坐标系x轴朝右,y轴朝下。默认原点在左上角。
GL坐标系x轴朝右,y轴朝上。默认原点在左下角。

在调用任何需要设置位置的函数,或从函数获取位置信息前,必须要明确这个函数使用哪个坐标系。比如调用CCNode类的setPosition函数,它使用的就是GL坐标系。比如在处理触摸事件时CCTouch对象中的坐标就是屏幕坐标系。
另一个重要的坐标系就是和Node相关的本地坐标系。这个结构和一般做3D用的场景树的概念是一样的。所以从Node拿到的位置是该节点的本地坐标,需要通过特定的函数才能把本地坐标转换为世界坐标。而且这里的坐标都用的是GL坐标系。在CCNode对象中有几个方便的函数可以做坐标转换。convertToWorldSpace方法可以把基于当前node的本地坐标系下的坐标转换到世界坐标系中。convertToNodeSpace方法可以把世界坐标转换到当前node的本地坐标系中。

一些方法:

1
2
3
4
[obj.parent convertToWorldSpace:[obj position]];  //获得obj的世界坐标
[obj.parent convertToNodeSpace:[obj position]];  //获得obj的本地坐标
[[CCDirector sharedDirector] convertToGL:ccp(0,0)];  //获得GL坐标
[[CCDirector sharedDirector] convertToUI:ccp(0,0)];  //获得屏幕坐标

相关文章推荐

7.Cocos2d-x中convertToWorldSpace方法的理解及坐标转换的一些方法。

1.convertToNodeSpace node1->convertToNodeSpace

cocos2d-x 中不同layer下的node的坐标转换

在网上搜出来的这些个坐标转换的例子都好官方,无论是解释还是例子都不实在。但在具体的项目开发中总是遇到各种坐标转换的问题。这里记录一下不同layer下两个坐标的转换。 例如: 当layer A...

cocos2d-x -------------------------------世界坐标本地坐标之间的转换

在cocos2d-x,提供现成的两个用于坐标转换的函数,convertToNodeSpace和convertToWorldSpace convertToNodeSpace:将世界坐标转换为本地坐标 ...

cocos2d-html5学习笔记(三)--cocos2d中的坐标系统

原文地址:http://blog.csdn.net/allenice1/article/details/7727052 作者:Allenice1 cocos2d中坐标原点和Layers的锚点是...

cocos2d-html5学习笔记(三)--cocos2d中的坐标系统

cocos2d中Layer的默认锚点是left、buttom,其他的节点(node)是中点。至于坐标原点是父节点left、buttom。(这里要注意,并不是所有的节点的坐标原点都是父节点的左下角,比如...

Cocos2d-x 详解坐标系统

这篇博文将介绍一下在cocos2dx中的一些坐标系统概念: 一、      (1)OpenGL坐标系 Cocos2D-x以OpenGL和OpenGL ES为基础,所以自然支持OpenGL坐标...

cocos2d-X学习之坐标系统

cocos2d-X学习之坐标系统     在cocos2d-x中有两种坐标系,分别是屏幕坐标系和open gl坐标系。     屏幕坐标系:x轴朝右,y轴朝下。默认原点在左上角,如下图...

(转载)cocos2d-X学习之坐标系统

转载之:http://www.cnblogs.com/lhming/archive/2012/07/01/2572272.html          在cocos2d-x中有两种坐标系,分别是屏...

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

Cocos2d-x v3.1 坐标系统(五)       为了能够更好的布局以及了解对象所在的位置,我们必须对Cocos2d-x中的坐标有详细的了解,本篇文章主要就是了解Cocos中用到的坐标系统...

cocos2d-x——坐标系统

#include "HelloWorldScene.h" using namespace cocos2d; CCScene* HelloWorld::scene() { CCScene *...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:COCOS2D坐标系统的一些说明
举报原因:
原因补充:

(最多只允许输入30个字)