2016-07-14 3 views
0

내가코코아 스튜디오에서 setDesignResolutionSize를 사용하는 것은 무엇입니까? 내 AppDelegate에 클래스에서

코코스 스튜디오를 사용하는 동안,이 같은 코드 뭔가를

auto glview = director->getOpenGLView(); 
    if(!glview) { 
     glview = GLViewImpl::createWithRect("HelloCpp", Rect(0, 0, 960, 640)); 
     director->setOpenGLView(glview); 
    } 
    director->getOpenGLView()->setDesignResolutionSize(960, 640, ResolutionPolicy::SHOW_ALL); 

곳을 코코스 스튜디오

와 일반 cocos2dx 프로젝트

에서와 같이

appDelegate 클래스의 코드는 다음과 같습니다.

auto glview = director->getOpenGLView(); 
    if(!glview) { 
     glview = GLViewImpl::create("My Game"); 
     director->setOpenGLView(glview); 
    } 

의심 할 여지 만, setDesignResolutionSize는 필수이며 모든 장치 크기에도 동일해야합니까 ???

+0

번호가 필요하지 않습니다하지만 난 당신이 표면의 차원을 설정하면 당신은 createWithRect는 960 * 640의 해상도를 생성합니다 첫 번째 코드를 확인하면, 그것을 사용하는 것이 좋다 생각합니다. 휴대 전화의 다양한 크기 때문에 장치의 가로 세로 비율이 맞지 않으면 어떻게 될까요? 이 경우 단순히 이미지가 모두 표시되지만 ResolutionPolicy :: NO_BORDER는 표면 일부를 자릅니다. 그러나 이것은 "다중 해상도 장치"에 대한 지원을하는 한 가지 방법 일뿐입니다. – OscarLeif

답변

1

in cocos2dx 모든 좌표는 디자인 해상도 크기를 기반으로합니다. 이렇게하면 모든 화면 크기에서 동일한 좌표계를 사용할 수 있습니다. 해상도 정책 SHOWALL은 모든 영역이 동일한 크기이지만 화면 크기에 따라 검은 경계선을 갖기 때문에 변경없이 전체 영역을 표시합니다.

NO_BORDER 정책은 표면의 일부를 자르지 만 장치 화면 크기에 따라 세계 일부가 느슨해집니다. 이 작업을 수행하려는 경우 중요한 부분이 안전 지대에 있는지 확인하여 게임에 영향을 미치지 않도록해야합니다. NO_BORDER 정책을 사용하는 경우주의해야 할 사항이 하나 있습니다. 디자인 해상도는 보이는 영역과 동일하지 않습니다. 이것이 정책 선택을 위해 결정한 것이라면 스프라이트와 게임 객체의 위치를 ​​돕기 위해 visibleSize() 및 visibleOrigin() 함수가 필요합니다.

아마도 가장 좋은 방법은 FIXED_HEIGHT 또는 FIXED_WIDTH 정책을 사용하는 것입니다. FIXED_HEIGHT 정책을 선택한 경우, cocos2dx는 모든 장치의 가시 영역에 전체 높이를 표시한다고 말합니다. 장치에 따라 너비가 잘릴 수 있습니다. 디자인 해상도 크기의 너비 크기가 다시 계산됩니다. 게임의 너비에 신경 쓰지 않는다면이 방법을 택할 수 있습니다. 즉, 게임이 FIXED_HEIGHT 게임 영역의 전체 높이를 요구한다면 귀하의 정책입니다.

FIXED_WIDTH 정책은 비슷하지만 높이가 아니라 너비와 비슷하다고 생각한 것 같습니다.

FIXED_WIDTH 및 FIXED_HEIGHT는 사용자가 선택하는 것에 따라 디자인 해상도의 너비 또는 높이를 수정합니다. 좋은 점은 생산 된 디자인 해상도가 보이는 영역과 동일하다는 것입니다. 이렇게하면 게임에서 스프라이트를 쉽게 찾을 수 있습니다.

다음 링크에서이 주제에 대한 자세한 정보를 찾을 수 있습니다. 훨씬 명확한 설명과 함께. 그들은 오래되었지만, 어떻게 작동하는지 아이디어를줍니다. http://www.cocos2d-x.org/wiki/Multi_resolution_support

http://cocos2d-x.org/wiki/Detailed_explanation_of_Cocos2d-x_Multi-resolution_adaptation