cocos2d-xでゲーム画面を縦に変更

よく忘れるので、備忘録も兼ねてメモ

cocos2d-xでアプリを作る際、初期設定は横向きになっている。
iPhoneで縦画面としてレイアウトするには、以下のように行う。

(1) xcodeのナビゲータエリアから、xcodeプロジェクトファイルを選択し、エディタエリアからGeneral > Deployment Info > Device Orientation から、Portrait のみチェックを入れる。

layout

(2) $PROJ_ROOT/proj.ios_mac/ios/RootViewController.mmの
shouldAutorotateToInterfaceOrientationメソッドの戻り値を下記のように書き換える。

// Override to allow orientations other than the default portrait orientation.
// This method is deprecated on ios6
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
    return UIInterfaceOrientationIsPortrait( interfaceOrientation );
}

これにより、iPhoneで縦向きで表示される。

layout_portrait

ちなみに、macでも縦向きで表示するには、以下のファイルを編集する。試してないけどwindowsでもイケるはず。
$PROJ_ROOT/cocos2d/cocos/platform/desktop/CCGLViewImpl-desktop.cpp

GLViewImpl* GLViewImpl::create(const std::string& viewName)
{
    auto ret = new (std::nothrow) GLViewImpl;
//  if(ret && ret->initWithRect(viewName, Rect(0, 0, 960, 640), 1)) {
    if(ret && ret->initWithRect(viewName, Rect(0, 0, 320, 568), 1)) {
        ret->autorelease();
        return ret;
    }

    return nullptr;
}

これにより、macでも縦向きになる。

layout_portrait_mac

解像度がまちまちだったりとか、いろいろ問題もあるけど、
まずは縦画面にできた。

コメントを残す

メールアドレスが公開されることはありません。

CAPTCHA

*