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