Cocos2d:如何找到CCSprite的中心点?

时间:2012-11-02 17:25:16

标签: ios math cocos2d-iphone sprite

如何找到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)

我的假分辨率是这样的:

[sprite boundingbox] B How to find the Center Coordinate of Rectangle? C我不知道:))

有什么建议吗?

3 个答案:

答案 0 :(得分:5)

精灵的中心点:

sprite.position;

这假设anchorPoint处于默认状态,即0.5,0.5,强烈建议不要更改它,因为它确实让你处于这种状态。

不是更改精灵的anchorPoint,而是将精灵添加到CCNode对象作为子节点,并将精灵从CCNode中偏移。从那时起,通过改变节点的位置属性来移动或重新定位精灵。

答案 1 :(得分:2)

CGPoint spriteCenter = CGPointApplyAffineTransform(ccp(sprite.contentSize.width/2, sprite.contentSize.height/2),
                                                   sprite.nodeToParentTransform);

答案 2 :(得分:0)

默认情况下,任何精灵的锚点都是它的中心点,只需编写mySprite.position就会给出CGPoint的中心点。你可以使用mySprite.position.x和mySprite.position找出x和y坐标。 .y。你也可以使用代码

将任何精灵的锚点从其中心移动到任何所需的点
mySprite.setAnchorPoint=ccp(0,0);// left down corner as anchor point here

您可以获取并打印任何精灵的中心点

NSLog("x=%d  ,y=%d",mySprite.position.x,mySprite.position.y);