如何在Cocos2d-iPhone中获取位于屏幕中心的点的世界空间坐标?
答案 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