0

how can I find the center point of a CCSprite?

My pseudocode is:

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)

And my pseudosolution is so far like this:

A [sprite boundingbox] B How to find the Center Coordinate of Rectangle? C I don't know :)

Any suggestion?

4

3 回答 3

5

精灵的中心点:

sprite.position;

这是假设 anchorPoint 是默认值,即 0.5,0.5,强烈建议不要更改它,因为它会让您处于您现在所处的这种情况。

无需更改精灵的锚点,而是将精灵作为子对象添加到 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.position.x 和 mySprite.position.y 找出 x 和 y 坐标。您还可以使用代码将任何精灵的锚点从其中心移动到任何所需的点

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 回答