0

CCSprite の中心点を見つけるにはどうすればよいですか?

私の疑似コードは次のとおりです。

A get sprite bounding box
B compute center point of the sprite
C move center point relative to sprite position and anchor point (this will be the center point of the sprite)

そして、私の疑似解決策はこれまでのところ次のようになっています:

A [スプライト バウンディング ボックス] B Rectangle の中心座標を見つける方法は? CIは知りません:)

なにか提案を?

4

3 に答える 3

5

スプライトの中心点:

sprite.position;

これは、anchorPoint がデフォルトの 0.5,0.5 であると仮定しており、変更しないことを強くお勧めします。これは、現在の状況とまったく同じになるためです。

スプライトの anchorPoint を変更する代わりに、スプライトを CCNode オブジェクトに子として追加し、スプライトを CCNode からオフセットします。その後、ノードの位置プロパティを変更して、スプライトを移動または再配置します。

于 2012-11-02T21:00:44.667 に答える
2
CGPoint spriteCenter = CGPointApplyAffineTransform(ccp(sprite.contentSize.width/2, sprite.contentSize.height/2),
                                                   sprite.nodeToParentTransform);
于 2012-11-02T21:56:42.747 に答える
0

デフォルトでは、任意のスプライトのアンカー ポイントは中心点であり、単に mySprite.position を記述するだけで、CGPoint に関して中心点が得られます。また、コードを使用して、スプライトのアンカーポイントをその中心から任意のポイントに移動できます

mySprite.setAnchorPoint=ccp(0,0);// left down corner as anchor point here

スプライトの中心点を次のように取得して印刷できます

NSLog("x=%d  ,y=%d",mySprite.position.x,mySprite.position.y);
于 2012-11-05T05:57:23.487 に答える