Cocos2D では、UIKit と同様の方法で (0,1) のアンカー ポイントを使用して CCSprite を作成しています。とにかく、Box2D のアンカー ポイントを変更しようとしていますが、これは可能ですか? もしそうなら、(0,1)のアンカーポイントでどうすればいいですか?
ありがとう!
Cocos2D では、UIKit と同様の方法で (0,1) のアンカー ポイントを使用して CCSprite を作成しています。とにかく、Box2D のアンカー ポイントを変更しようとしていますが、これは可能ですか? もしそうなら、(0,1)のアンカーポイントでどうすればいいですか?
ありがとう!
Box2D ボディにはアンカー ポイントがありません。
anchorPoint は、ノードの位置に対するノードのテクスチャのオフセットです。Box2D ボディにはテクスチャがないため、アンカー ポイントはありません。
一般に、アンカーポイントをデフォルトの 0.5,0.5 の位置から変更すると、多くのことがより困難になります。たとえば、まさにこの質問をするようになった問題のように。
ボディ内の形状のアンカー ポイントを変更する:
forループを実行して最小のx頂点と最大の幅を取得し、減算して幅を取得します。同じループで最小のy頂点と最大の頂点を取得して減算し、
次に、違いのあるすべての頂点を移動すると、形状が 0,0 に配置されます。
最善の解決策かどうかはわかりません。