iOS開發(fā):Cocos2d-x坐標(biāo)系統(tǒng)
不同坐標(biāo)系的介紹
笛卡爾坐標(biāo)系
UI坐標(biāo)系
在ios、安卓、wp一般的UI坐標(biāo)布局中
-
原點(diǎn)是在左上角
-
x從左到右遞增
-
y從頂?shù)降走f增
像這樣
Direct3d
DirectX中采取了笛卡爾左手坐標(biāo)系
OpenGl和Cocos2d
采用了笛卡爾右手坐標(biāo)系
在2d中,我們只是用2d的場(chǎng)景
如下:
Parent和Childrens
每個(gè)繼承自CCNode的子類都有一個(gè)anchorpoint的屬性
當(dāng)決定放置位置和旋轉(zhuǎn)中心時(shí),均是以anchorpoint作為參照的
getVisibleSie, getVisibleOrigin vs getWinSize
得到當(dāng)前屏幕大小
如何轉(zhuǎn)換坐標(biāo)
convertToNodeSpace
用于將在屏幕上的絕對(duì)位置轉(zhuǎn)換為一個(gè)node相對(duì)于另一個(gè)node的方法
CCPoint point = node1->convertToNodeSpace(node2->getPosition());
這句代碼中,node1相當(dāng)于父節(jié)點(diǎn),node2相當(dāng)于子節(jié)點(diǎn) node2的坐標(biāo)根據(jù)node1相對(duì)改變
convertToWorldSpce
轉(zhuǎn)換為世界坐標(biāo)
convertToNodeSpaceAR
convertToWorldSpaceAR
這兩個(gè)方法在轉(zhuǎn)換過程中考慮到了anchorpoint