6

Cocos2d-iPhone で、画面の中心にあるポイントのワールド空間座標を取得するにはどうすればよいですか?

4

2 に答える 2

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];
于 2012-04-16T18:48:22.197 に答える
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

于 2012-04-17T01:29:16.453 に答える