iDev/Cocos2D

cocos2d v3 for Mac, 레티나 버그 패치

KraZYeom 2014. 3. 6. 08:47
반응형

* 그냥 급하게 지원하게 코드만 수정한 버전입니다. 공식 버전에서 곧 지원될때 까지만 사용 바랍니다. 전체 코드를 몰라서 그냥 후다닥  지원 가능하게만 했은 성능상에 문제가 있을 수도 있습니다. 


어쩌다 보니 제 코드를 pull request 했더니 merge 되었네요. 

https://github.com/cocos2d/cocos2d-iphone/commit/1caaec05b967160c342fa92a9033909ab11f6edb


v3 rc2에서는 풀스크린을 하면 전체 확대가 안되었습니다. 이런 문제를 rc3에서 해결했는데 이것 때문에 다른 버그가 생겨버렸습니다.

cocos2d v3 rc 3에서 레니타 맥에 대한 패치가 있었는데요. 풀스크린상에는 문제가 없는데 작은 화면상에서는 화면이 2배 확대되어 나오는 버그가 발생합니다. 


CCDirector.m에서 아래와 같이 변경하면 됩니다.

-(void) setView:(CCGLView*)view{

...

{ // set size

CGSize size = CCNSSizeToCGSize(__view.bounds.size);

#ifdef __CC_PLATFORM_IOS

CGFloat scale = __view.layer.contentsScale ?: 1.0;

#else

self.view.wantsBestResolutionOpenGLSurface = YES// 이 부분 주석을 풀어줘야 함

CGFloat scale = self.view.window.backingScaleFactor;

#endif


CCDirectorMac.m에서 아래와 같이 추가하면 됩니다. 

- (void) setFullScreen:(BOOL)fullscreen {

...

    if( fullscreen ) {

...
        self.view.wantsBestResolutionOpenGLSurface = NO;

    } else {

...

       self.view.wantsBestResolutionOpenGLSurface = YES;

    }

...
}



반응형