【Cocos2d-x-基础概念】坐标系统

Cocos2d-x-基础概念-坐标系统

不同坐标系的介绍

笛卡尔坐标系

image02

UI坐标系

在ios、安卓、wp一般的UI坐标布局中

  • 原点是在左上角
  • x从左到右递增
  • y从顶到底递增

像这样

image01

Direct3d

DirectX中采取了笛卡尔左手坐标系

OpenGl和Cocos2d

采用了笛卡尔右手坐标系

image03

在2d中,我们只是用2d的场景

如下:

iamge04

Parent和Childrens

每个继承自CCNode的子类都有一个anchorpoint的属性

当决定放置位置和旋转中心时,均是以anchorpoint作为参照的

getVisibleSie, getVisibleOrigin vs getWinSize

得到当前屏幕大小

如何转换坐标

convertToNodeSpace

用于将在屏幕上的绝对位置转换为一个node相对于另一个node的方法

CCPoint point = node1->convertToNodeSpace(node2->getPosition());

这句代码中,node1相当于父节点,node2相当于子节点
node2的坐标根据node1相对改变

convertToWorldSpce

转换为世界坐标

convertToNodeSpaceAR

convertToWorldSpaceAR

这两个方法在转换过程中考虑到了anchorpoint

你可能感兴趣的:(cocos2d,cocos2d-x,游戏引擎)