Cocos Creator 隨筆(1)-- 世界座標,相對座標轉換問題

convertToNodeSpace、convertToWorldSpace,都是以參照物的坐下角作爲座標點原點,向右和向上創建座標系。
------------------------------convertToNodeSpace,獲得的座標相對於參照物的座標。
------------------------------convertToWorldSpace,獲得的座標是參照物所在的座標系中的座標,即轉換到參照物的世界座標。

convertToNodeSpaceAR、convertToWorldSpaceAR,是以參照物的錨點爲原點,向右、向上創建座標系。
------------------------------convertToNodeSpaceAR,獲得的座標相對於參照物的座標(此時座標系的原點在參照物的錨點)。
------------------------------convertToWorldSpaceAR,獲得的座標是參照物所在的座標系中的座標,即轉換到參照物的世界座標(此時座標系的原點在參照物的錨點)。
這樣理解比較簡單寫,有AR的是以參照物的錨點作爲新建座標系的原點,沒有AR的是以參照物的左下角作爲新建座標系的原點。

node.convertToWorldSpaceAR(pos) 得到pos這個點在node所在座標系中的座標

不論一個節點有幾個父節點,要得到它的世界座標,可以有如下方法:
let worldPos = node.convertToWorldSpaceAR(cc.vec2(0, 0)) 得到node的世界座標。

要得到節點node在節點node1上的相對座標,萬能方法如下:
let worldPos = node.convertToWorldSpaceAR(cc.vec2(0, 0)) 得到node的世界座標。
let nodePos = node1.convertToNodeSpaceAR(worldPos) 得到node在節點node1的相對座標。

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