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

Jay*_*Jay 6 cocos2d-iphone

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

s1m*_*m0n 9

简单,只需取高度和宽度,然后除以2即可

CGSize winSize = [[CCDirector sharedDirector] winSize];
CGPoint point = ccp(winSize.width/2, winSize.height/2);
Run Code Online (Sandbox Code Playgroud)

这是一种更先进的方法.如果您在精灵的父级上调用了setPosition(在此示例中为self),这也可以工作

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];
Run Code Online (Sandbox Code Playgroud)

  • 这段代码不是看父母,而是整个Cocos Director以及整个Cocos的窗口大小.如果您的Cocos视图确实跨越整个屏幕,那么此代码将为您提供准确的中心点. (3认同)