2015-01-16 3 views
0

기기의 가로 세로 비율을 가져 오는 방법이 있습니까? 예를 들어 16 : 9인지 4 : 3인지 또는 3 : 2인지?Cocos2d-x에서 장치의 종횡비를 얻는 방법은 무엇입니까?

이 해결 방법에 대한 정확한 자료를 원합니다. 내가 직면하는 문제는 장치가 정확한 폭을 제공하지 않는다는 것입니다. 예를 들어 iPhone 4inch의 너비/높이는 정확하게 16 : 9가 아니지만 상대적으로 동일합니다. 장치 종횡비를 얻을 수있는 방법이 있습니까?

미리 감사드립니다.

답변

0

화면의 종횡비를 얻는 의사 코드입니다. table에 16 : 9, 4 : 3, 3 : 2 또는 원하는대로 종횡비 항목을 설정해야 할 수도 있습니다.

auto frameSize = Director::getInstance()->getOpenGLView()->getFrameSize(); 
auto aspectRatio = frameSize.width/frameSize.height; 

int aspectRatioType = DEFAULT_ASPECT_RATIO_TYPE; 
float closest = FLT_MAX; 
for (const auto& i : table) { 
    auto d = fabs(i.aspectRatio - aspectRatio); 
    if (d < closest) { 
     closest = d; 
     aspectRatioType = i.aspectRatioType; 
    } 
} 
return aspectRatioType; 
관련 문제