Cocos2d-x 屏幕适配详解

来源:互联网 发布:中文波斯语翻译软件 编辑:程序博客网 时间:2024/06/02 04:17

pEGLView->setDesignResolutionSize(480, 320, kResolutionNoBorder);

第三个参数:

kResolutionExactFit:会靠拉伸来填满屏幕,如1024:768=1.3, 480:320=1.5,宽高比不同,图片无法等比缩放来填满屏幕,图片会变形。
kResolutionNoBorder: 没有黑边,宽高等比缩放,但缩放比例取宽比和高比之中大的那一个。

kResolutionShowAll:全部显示,宽高等比缩放,但缩放比例取宽比和高比之中小的那一个。

CCSize szVisible = CCDirector::sharedDirector()->getVisibleSize();//在实际设备上能看到的有效区域的宽高

CCPoint posVisible = CCDirector::sharedDirector()->getVisibleOrigin();//这个有效区域的起始坐标



例如:

{

    //对屏幕进行设计

    CCEGLView::sharedOpenGLView()->setDesignResolutionSize(480, 320, kResolutionNoBorder);

    //设计分辨率

    CCSize s=CCDirector::sharedDirector()->getWinSize();

    //真实屏幕的分辨率

    CCSize framesize=CCEGLView::sharedOpenGLView()->getFrameSize();

    //可视区域(是图片显示部分) 只有kResolutionNoBorder才会出现这种情况

    CCSize visibsize=CCDirector::sharedDirector()->getVisibleSize();

//    

    CCLog("% f    %f",s.width,s.height);

    CCLog("% f    %f", framesize.width, framesize.height);

    CCLog("% f    %f",visibsize.width,visibsize.height);

}


所有解决的方法:

//屏幕适配

   使用 CCEGLView::sharedOpenGLView()->setDesignResolutionSize(480,320, kResolutionExactFit);即可。






0 0
原创粉丝点击