cocos2d x 座標辨析

2021-08-20 07:22:21 字數 877 閱讀 6576

閱讀了cocos2d的幾個方法

ccpoint converttonodespace(const ccpoint& worldpoint)

ccpoint converttoworldspace(const ccpoint& nodepoint)

ccpoint converttonodespacear(const ccpoint& worldpoint)

ccpoint converttoworldspacear(const ccpoint& nodepoint)

一開始無法辨別其中的差異,閱讀了cocos2d-x 座標研究後有所啟發,將自己的想法總結後記下這篇部落格,作為學習記錄

概念想像乙個釘子,釘在板子上,釘子上連著一條線,線的另一端連著我們的物件。那麼,這個釘子就是錨點。物件的旋轉,縮放等都是圍繞著錨點進行

錨點位置

錨點有兩種位置:

誰相對誰

當你呼叫layer->addchild(object)時,object的座標系將在所在的layer上建立,因此座標也相對該layer的錨點建立。當該object與其他layer的物件進行互動時,就常常需要進行座標的轉化。舉個例子,你想讓老鼠移動到你想讓它移動到的位置,你就得把你的座標轉為老鼠層座標系的座標,即相對於老鼠層的錨點進行轉化。

有沒有ar字尾

沒有ar字尾在轉化的時候,實際上是以參照物的左下角,向上,向右來建立座標系的,而有ar字尾在轉化的時候,以參照物的錨點,向上向右來建立座標系的

所以,對於錨點的相對位置不是(0,0)的layer來說,在使用沒有ar字尾的方法時,要layer上面物件的點的座標全部轉化為以(0,0)相對位置的錨點所對應的座標,再進行轉化

COCOS2DX座標轉換

遊戲中經常會用到一些變換 遊戲中 和角色在乙個layer上,為了效率,會考慮將bullet,effect和 physicsparticle分別放到不用的層上,對應的層上使用batchnode來提高效率 和physicsparticlelauncher 粒子發射器 繫結,發射的時候,會向physics...

cocos2d x座標轉換

cocos2d x中,node類有六個座標轉換函式,分別是 converttoworldspace 把基於當前節點的本地座標系下的座標轉換到世界座標系中。converttonodespace 把世界座標轉換到當前節點的本地座標系中。例如,在飛機大戰專案中,寵物是玩家的子節點,玩家是遊戲場景的子節點,...

cocos2d x 座標轉換總結

首先腦補下基礎知識吧 1 opengl座標系 該座標系原點在螢幕左下角,x軸向右,y軸向上。這也就是cocos2dx中用到的座標系所以沒啥好說的。2 螢幕座標系 該座標系的原點在螢幕左上角,x軸向右,y軸向下,其實和opengl座標系的差別也就是y軸的方向拉。假設遊戲場景的解析度為 500,500 ...