Как изменить начальный размер экрана в Cocos2d-x 3.1 для Mac?

Мое приложение должно работать в портретном режиме. Для iOS я указываю это в файле plist. Для андроида это в манифесте.

Когда я пытаюсь запустить приложение для Mac, оно всегда запускается в альбомной ориентации, хотя должно быть в портретной.

Я попытался найти файл MainMenu.xib, указанный в plist Mac, с помощью поиска XCode, но в проекте 3.1 его не удалось найти. Я также пытался просматривать файлы, специфичные для Mac, в разделе «Платформа-> mac», но не видел ничего, связанного с размерами экрана.

Изменить обновление:

В дополнение к ответу @GameDeveloper я внес следующие изменения:

if( !glView) {
#if (CC_TARGET_PLATFORM == CC_PLATFORM_MAC)
    glView = GLView::createWithRect("MyApp", Rect(0,0, 640, 960));
#else
    glView = GLView::create("MyApp");
#endif
}

Следует отметить, что поставляемый прямоугольник идеально соответствует размеру вашего проекта.


person TigerCoding    schedule 29.05.2014    source источник


Ответы (2)


Нет ни xib, ни nib.

in v 3.0

в main.cpp у вас должно быть:

int main(int argc, char *argv[])
{
    AppDelegate app;
    EGLView eglView;
    eglView.init("Hello World",900,640);
    return Application::getInstance()->run();
}

Измените значения 900 и 640 -> width, height

in v3.1

в AppDelegate.cpp вы должны отредактировать applicationDidFinishLaunching, чтобы добавить glview->setFrameSize(900, 640); Где 900 и 640 ваши width и height

// initialize director
auto director = Director::getInstance();
auto glview = director->getOpenGLView();
if(!glview) {
    glview = GLView::create("My Game");
    glview->setFrameSize(900, 640);
    director->setOpenGLView(glview);
}

Вы, вероятно, хотите убедиться, что вы настраиваете это только при работе на MAC

person GameDeveloper    schedule 29.05.2014
comment
В моем main.cpp есть только первая и последняя строки, строки EGLView отсутствуют. Я должен добавить их? - person TigerCoding; 30.05.2014
comment
См. правки выше. Не уверен, что это правильный способ сделать это. Я опубликую пост на форумах Cocos. - person TigerCoding; 30.05.2014

Начиная с cocos2d-x версии 3.4 (текущая последняя версия), синтаксис немного изменился. Единственное изменение, которое кажется необходимым для изменения размера экрана для Mac:

in AppDelegate.cpp:

bool AppDelegate::applicationDidFinishLaunching() {
    // initialize director
    auto director = Director::getInstance();
    auto glview = director->getOpenGLView();
    if(!glview) {
#if (CC_TARGET_PLATFORM == CC_PLATFORM_MAC)
         glview = GLViewImpl::createWithRect("MyApp", Rect(0,0, 320, 480));
#else
        glview = GLViewImpl::create("My Game");
#endif
        director->setOpenGLView(glview);
    }
person Gino    schedule 01.03.2015
comment
Это крошечная игра для Mac! - person TigerCoding; 02.03.2015