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