十一:Cocos2d-x座標系

OPENGL座標系: 原點在左下角,x軸向右,y軸向上     (OpenGL 是右手座標系 Direct3D 是左手座標系)

                                          右手座標系: 拇指指向X軸正向,食指指向Y軸正向,中指指向Z軸正向;


屏幕座標系:     原點在左上角,x軸向右,y軸向下 。

                               比如觸摸事件傳進來的就是觸摸點在屏幕座標系下的位置,處理時要先把觸摸點座標     轉化爲OPENG座標,使用CCDirector的comvertToGL 來完成。


世界座標系:    原點在左下角,x軸向右,y軸向上。(以第三方爲參考)

                               也叫絕對座標系,是遊戲世界的座標系。


本地座標系:   原點在父節點的左下角,x軸向右,y軸向上。參考物是自己,精靈或者物體。(向左,向右)

                              從Node節點拿到的座標是本地座標系座標, 也就是父節點的節點座標系。 如果父節     點是場景樹中的頂層節點,那麼他使用的節點座標系就和世界座標系重合。此座標表示                                 的是相對位置。例如Node1相對於Node2的座標。


錨點:   錨點是貼圖節點的中心點,一般默認(0.5,0.5) 即中心位置,(1.0,1.0是右上角)。變換時錨點 的值會影響變換效果。

             主要是相對於模型座標而言。convert函數中帶AR表示相對於錨點。


        Node的座標點就是錨點的座標。另外Node還有原點(模型左下角)和大小(由模型像素決定),錨點和Node的大小共同決定了Node的位置。


       在調用任何需要設置位置的函數,或從函數獲取位置信息前,必須要明確這個函數使用哪個座標系。比如調用CCNode類的setPosition函數,它使用的就是GL座標系。比如在處理觸摸事件時CCTouch對象中的座標就是屏幕座標系。

        要儘可能用相對座標。換句話說,程序中所有對象在設置大小和位置時,都應該以父對象的大小和位置爲依據。 這樣程序發佈在以各種不同的分辨率發佈時,只需要調整根對象的大小就可以了。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章