2

フォーラムとテスト例をスキャンしましたが、ゲームの縦向きと横向きのデバイスの向きをどのようにサポートできるかという質問に対する厳密な回答はありませんでした。iOS では、まず例やソース、または私が見て学ぶことができる何かがありますか !

4

2 に答える 2

1

これを参照できます: http://www.cocos2d-x.org/projects/cocos2d-x/wiki/Device_Orientation

iOS の場合: viewcontroller.m 内

bool shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {

// ランドスケープの場合

return UIInterfaceOrientationIsLandscape( interfaceOrientation );

// ポートレート用

return UIInterfaceOrientationIsPotrait( interfaceOrientation );

}

複数の場合:

bool shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation 

{

return UIInterfaceOrientationIsPortrait(interfaceOrientation)||UIInterfaceOrientationIsLandscape(interfaceOrientation) ;

}

向きに応じてコンテンツをスケーリングする:

void didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation

CGSize s;
if (UIInterfaceOrientationIsLandscape(UIApplication.sharedApplication.statusBarOrientation))
{
s = CGSizeMake(std::max<float>(UIScreen.mainScreen.bounds.size.width,    UIScreen.mainScreen.bounds.size.height), 
                         std::min<float>(UIScreen.mainScreen.bounds.size.width,  UIScreen.mainScreen.bounds.size.height));
} 
else
{
s = CGSizeMake(std::min<float>(UIScreen.mainScreen.bounds.size.width,     UIScreen.mainScreen.bounds.size.height),  
                         std::max<float>(UIScreen.mainScreen.bounds.size.width, UIScreen.mainScreen.bounds.size.height));
}

CCDirector* director = cocos2d::CCDirector::sharedDirector();
director->enableRetinaDisplay(false);
director->getOpenGLView()->setFrameSize(s.width, s.height);
director->getOpenGLView()->setDesignResolutionSize(s.width, s.height, kResolutionShowAll);
director->enableRetinaDisplay(true);
于 2013-08-08T09:32:13.560 に答える