2014-01-20 35 views

回答

4

anchorPoint確定節點的紋理相對於節點位置的繪製位置。它不會影響物理體,因爲它是純粹的視覺屬性(紋理偏移)。

對於物理驅動節點,將anchorPoint從其默認值更改爲反作用,因爲這會改變紋理旋轉的點。而物理實體通常也會改變節點的旋轉。

因此,即使您要移動物理體形狀的頂點以與具有修改後的錨點的精靈相匹配,只要物體開始旋轉,物理形狀就會與圖像錯位。它似乎表現得很怪異。

再加上無論你想使用anchorPoint實現你可以更靈活地實現通過使用節點層次結構的優勢。使用SKNode作爲物理節點,並將非物理sprite節點作爲子節點添加到該節點,並通過更改精靈的anchorPoint來按照您希望圖像偏移的方式將其偏移。

您最終有兩個節點,一個是不可見的,代表物理體,一個(或多個)精靈代表身體的視覺,但不一定與身體的中心位置綁定。

+0

你會建議什麼使它圍繞物理體的左側旋轉? – maxhud

+0

你想讓它表現得像一個物理對象,還是你想手動設置動畫效果?這很難,也很容易出錯,因爲兩者同時發生。目前Sprite Kit不支持改變身體的重量分佈,這可能是嘗試實現你想要的物理方式......也許。無論如何,聽起來你應該嘗試關節,如果你想身體圍繞另一個旋轉。 – LearnCocos2D

+0

我想要一個身體圍繞它的左側而不是其中心旋轉。它不應該那麼複雜。我不需要對重量分佈做任何事情,我只是想創建一個具有物理體的spritenode,並且我可以更改zRotation,它將圍繞它的左側而不是其中心旋轉。 – maxhud