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);

 

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值