2012-04-16 69 views

回答

9

簡單,只是採取的高​​度和寬度,並通過2

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

這裏是一個略微更先進的方式來做到這一點分攤。 這也將工作,如果你調用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]; 
+0

這不會給屏幕的中心。這給出了一半的屏幕尺寸。 – Jay 2012-04-16 20:07:21

+7

而屏幕大小的一半是屏幕的中心。 – s1m0n 2012-04-16 20:08:35

+0

(0,0)是相對於其父,而不是屏幕的左下角。如果父母移動,它將不起作用。 – Jay 2012-04-16 21:23:11

0

你可以在屏幕的正中心,無論你使用的是什麼框架,科科斯與否,也即使科科斯沒有被設置爲使用整個屏幕(是這樣的情況,有時如果你裁剪科科斯以騰出空間給廣告)做這樣的事情:

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

注意ccp宏科科斯作品只要;否則,使用CGPointMake