如何在cocos2d中获取屏幕中心?

时间:2012-04-16 16:44:09

标签: cocos2d-iphone

如何在Cocos2d-iPhone中获取位于屏幕中心的点的世界空间坐标?

2 个答案:

答案 0 :(得分:9)

简单,只需取高度和宽度并将其除以2

CGSize winSize = [[CCDirector sharedDirector] winSize];
CGPoint point = ccp(winSize.width/2, winSize.height/2);

这是一种更先进的方法。 如果您在精灵的父级(在此示例中为= self)

上调用了setPosition,这也将起作用
CGSize winSize = [[CCDirector sharedDirector] winSize];
CCSprite* centerSprite = [CCSprite spriteWithFile:@"sprite"];
CGPoint centerPoint = ccpSub(ccp(winSize.width/2, winSize.height/2), [self position]);
[centerSprite setPosition:centerPoint];
[self addChild: centerSprite];

答案 1 :(得分:0)

无论您使用什么框架,Cocos与否,您都可以获得确切的屏幕中心,即使Cocos没有设置为使用整个屏幕(如果您裁剪Cocos以便腾出空间,有时会出现这种情况)对于广告)通过这样做:

int width=[[UIScreen mainScreen] bounds].size.width
int height=[[UIScreen mainScreen] bounds].size.height
CGPoint center=ccp(width/2,height/2);

注意ccp宏仅适用于Cocos;否则,请使用CGPointMake