正如m.ding說......父 - > ConvertToNodeSpace().....
這是對你的解釋,所以你知道什麼時候該做什麼?
convertToWorldSpace(const CCPoint & nodePoint)將節點座標轉換爲SCREEN座標。 讓我們將layerA與錨點和位置(0,0)連接到屏幕,並在點(100,100)處在此圖層上有一個精靈。 雪碧的SCREEN coords會是什麼? - (100,100)
讓我們將layerA移至point( - 50, - 20)。雪碧的SCREEN coords是什麼? - (100-50,100-20),即(50,80) - 這就是convertToWorldSpace返回給我們,如果我們調用layerA-> convertToWorldSpace(ccp(100,100))。
convertToWorldSpaceAR - 將關係返回到錨點:所以如果我們的場景 - 根層有AP(0.5f,0.5f) - 默認,convertToWorldSpaceAR應該返回相對於屏幕中心的位置。我已經使用convertToNodeSpace
convertToNodeSpace(const CCPoint & worldPoint) - 將SCREEN座標轉換爲NODE的本地。即如果我們的例子中移動層調用: layerA-> convertToNodeSpace(ccp(50,80)) - 應該返回(100,100) - 我們的精靈節點座標。
convertToNodeSpaceAR - 與convertToWorldSpaceAR相同的邏輯
假設ccNodeA是ccNodeB的子級,它是layerA的子級。然後,如果我想將ccNodeA座標ccp(50,50)作爲ccNodeB座標,我需要通過屏幕座標:localNodeACoordAsNodeBCoord = [ccNodeB convertToNodeSpace [ccNodeA convertToWorldSpace:ccp(50,50)]]。有沒有更簡單的方法? –