2018년 3월 20일 화요일

cocos2d-x 3.x 버전에서 setDesignResolutionSize 사용할때

2014. 3. 26. 11:02

setDesignResolutionSize()함수는 해상도를 강제로 지정해서 다양한 해상도에서 stretch 해 보여줄때 사용하는 함수지요.
자세한 내용은 아래 URL참고 

이전 2.x 버전에서는 아래와 같이 순서를 해도 문제 없이 작동 했습니다. 

    CCDirector* pDirector = CCDirector::sharedDirector();
    CCEGLView* pEGLView = CCEGLView::sharedOpenGLView();
    pDirector->setOpenGLView(pEGLView);
   CCEGLView::sharedOpenGLView()->setDesignResolutionSize(DEF_HIRES_CX, DEF_HIRES_CY, kResolutionShowAll); 
    pDirector->setDisplayStats(false);
    pDirector->setAnimationInterval(1.0 / 60);

그런데 3.x 대에서는 순서를 아래처럼 해야 됩니다. 
함수 사용도 조금 바뀌었습니다. 

    auto director = Director::getInstance();
    auto glview = director->getOpenGLView();
    if(!glview) 
    {
        glview = GLView::create("MyGame");
        director->setOpenGLView(glview);
    }
    director->setDisplayStats(true);
    director->setAnimationInterval(1.0 / 60);
    glview->setDesignResolutionSize(DEF_HIRES_CX, DEF_HIRES_CY, ResolutionPolicy::SHOW_ALL);

setDesignResolutionSize() 함수를 호출 할때 setDisplayStats(), setAnimationInterval() 함수보다 뒤에 와야 하더군요.
뭐가 버그인지는 찾아 봐야 하겠습니다. 

댓글 없음:

댓글 쓰기