2011-11-06 54 views
1

在Cocos2D中,我創建了具有(0,1)錨點的CCSprites,它類似於UIKit的方式。無論如何,我正試圖改變Box2D中的定位點,這可能嗎? 如果是這樣,我將如何做與(0,1)的錨點?更改Box2D錨點?

謝謝!

回答

4

Box2D主體沒有錨點。

anchorPoint是節點紋理相對於節點位置的偏移量。 Box2D主體沒有紋理,因此沒有錨點。

一般來說,通過將anchorPoint從其默認的0.5,0.5位置更改,將使許多事情變得更加困難。例如,就像引發你提出這個問題的問題一樣。

+0

嗯我跑了這個鏈接:http://www.box2d.org/forum/viewtopic.php?f=3&t=3612&p=17877#p17877 他們說這是可能的,所以在你看了那個鏈接之後,你認爲這仍然是可能的嗎? –

+0

是的,你可以偏移形狀,但沒有簡單的屬性,你必須添加這個偏移量到每個Box2D主體以匹配相應的精靈的anchorPoint偏移量。只需堅持使用cocos2d anchorPoint就好辦了,而不是試圖讓cocos2d像UIKit一樣行事。另請參閱此解釋:http://stackoverflow.com/questions/7808981/moving-a-stick-figure-anchorpoints-animation-or-something-else/7810180#7810180 – LearnCocos2D

+0

我明白了。這是一個非常好的解釋。所以如果我使用常規的0.5,0.5錨點,我會搞亂我的精靈的位置,因爲我習慣了UIKit。有沒有采取任何方式將UIKit位置座標轉換爲Cocos2D座標? –

0

改變形狀的錨點身體:

for循環做一個讓最小的X頂點和最大的,。減去獲得的寬度,你可以在同一迴路做得到最小Ÿ頂點和最大並減去,

如果您然後移動具有差異的所有頂點,您將在0,0中定位形狀。

它不能確定是否最好的解決方案。