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