cocos2d x之詳解座標系

2021-06-18 11:15:01 字數 1384 閱讀 8863

分類: cocos2d, **人生 ė

172 瀏覽數

6在幾何體系中通常使用「笛卡爾」座標系來描述座標,就像下圖展示的那樣,通過左手或是右手來描述座標系。

但是在手機遊戲開發中,介面ui座標系有以下三種型別:

ui座標系:在ios/android/windows sdk這些系統平台場,通常使用的ui座標系定義如下:

螢幕左上角就是座標系原點(0,0);x座標從左向右增量變換,y座標從上向下增量變換,如下圖所示:

direct3d座標系:directx座標系使用的是左手「笛卡爾」座標系。

opengl和cocos2d座標系:cocos2d-x/-html5/-iphone/opengl座標系使用的是右手「笛卡爾」座標系。

在2d遊戲世界中,只使用到x和y座標。螢幕左下角是座標系的原點(0,0);x座標從左向右增量變換;y座標從下向上增量變換。

下面通過cocos2d-x貼圖來詳細說明一下。

12

3

4

5

6

7

8

9

ccsprite*

parent

=ccsprite

::create

("***.png");

parent

->

setanchorpoint

(ccp(0

,0))

; parent

->

setposition

(ccp

(100

,100))

; addchild

(parent);

ccsprite*

child

=ccsprite

::create

("***.png");

child

->

setanchorpoint

(ccp

(0.5

,0.5))

; child

->

setposition

(ccp

(100

,100))

; parent

->

addchild

(child);

執行結果如下圖所示:

在上圖中,藍色圓和黑色圓使用的是同一座標(100,100),但不同的是它們的描點座標不同,這裡的描點座標可以理解為座標系的原點。藍色圓的描點座標是(0.5,0.5),而黑色圓的描點座標是(0,0)。

在cocos2d中錨點的預設位置是在物件的中間即cpp(0.5,0.5)位置,cpp(0,0)為左下角cpp(1,1)為右上角。

cocos2d x中的座標系

最關鍵的是觸控事件得到的是螢幕座標系 座標系的原點在左下 uikit to opengl ccpoint converttogl const ccpoint obpoint opengl to uikit ccpoint converttoui const ccpoint obpoint ccspr...

cocos2dx 座標系統詳解

1 在cocos2dx中,支援以下座標系 螢幕座標系 原點在左上角,x軸向右,y軸向下。比如處理觸控事件時cctouch物件中的座標就是螢幕座標系 opengl座標系 原點在左下角,x軸向右,y軸向上。比如ccnode類的setposition函式呼叫就是此座標系 世界座標系 指相對於整個螢幕的座標...

cocos2dx 座標系統詳解

1 在cocos2dx中,支援以下座標系 螢幕座標系 原點在左上角,x軸向右,y軸向下。比如處理觸控事件時cctouch物件中的座標就是螢幕座標系 opengl座標系 原點在左下角,x軸向右,y軸向上。比如ccnode類的setposition函式呼叫就是此座標系 世界座標系 指相對於整個螢幕的座標...