Cocos 2dx iOS 平臺初始化,OpenGL 初始化,分辨率設置

Cocos 2dx iOS 平臺初始化,OpenGL 初始化,分辨率設置

1. Main.m

    int retVal = UIApplicationMain(argc, argv, nil, @"AppController");

 

  1. AppController.mm

//A.  AppDelegate 構造函數,創建實例

AppDelegate s_sharedApplication;

 

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

 

     //A. 創建window  window bounds:768 X 1024

    window = [[UIWindow alloc] initWithFrame: [[UIScreen mainScreen] bounds]];

 

      //B.  創建 eaglView,  bounds size 768 X 1024

    CCEAGLView *eaglView = [CCEAGLView viewWithFrame: [window bounds]

                                         pixelFormat: (NSString*)cocos2d::GLViewImpl::_pixelFormat

                                         depthFormat: cocos2d::GLViewImpl::_depthFormat

                                  preserveBackbuffer: NO

                                          sharegroup: nil

                                       multiSampling: NO

                                     numberOfSamples: 0 ];

 

   //B1.  eaglView 的frame size 和 顯示寬高是:1536 X 2048

    float width = [eaglView getWidth];

    float height = [eaglView getHeight];

 

    //C. 創建 viewController,並設置viewController的view指向eaglView

    _viewController = [[RootViewController alloc] initWithNibName:nil bundle:nil];

    _viewController.view = eaglView;

 

    //D. 將viewController關聯window

     [window setRootViewController:_viewController];

 

    //E. 創建 cocos2d glview,並關聯eaglView

    cocos2d::GLView *glview = cocos2d::GLViewImpl::createWithEAGLView(eaglView);

    cocos2d::Director::getInstance()->setOpenGLView(glview);

 

    //F. 運行cocos2dx app 實例

    cocos2d::Application *app = cocos2d::Application::getInstance();

    app->run();

 

}

 

 

  1. AppDelegate.cpp

bool AppDelegate::applicationDidFinishLaunching(){

    //A. 獲取director 實例,獲取 glView

    auto director = Director::getInstance();

    auto glview = director->getOpenGLView();

 

    //B. 設置director 刷新頻率 30fps 或者60fps

    director->setAnimationInterval(1.0 / 60);

 

    //C. 設置glView 設計分辨率,這裏設置720 X 960. (這裏會放大到 UIWindow size 768 X 1024)

    // SHOW_ALL: 等比例縮放, 會出現黑邊

    // EXACT_FIT: 縮放至全屏,會出現變形,大部分ipad的分辨率比例是4:3,設計原圖分辨率720X960,也是3:4,大部分ipd不會變形

    glview->setDesignResolutionSize(720, 960, ResolutionPolicy::EXACT_FIT);

 

}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章