Cocos2d x 在使用kResolutionShowAll的cocos2dx中,如何使用空边框?

Cocos2d x 在使用kResolutionShowAll的cocos2dx中,如何使用空边框?,cocos2d-x,screen-resolution,Cocos2d X,Screen Resolution,我打算用cocos2d-x为android开发一款游戏,但我在分辨率方面遇到了一些问题。 我正在使用kResolutionShowAll分辨率策略来确保我的所有图像都显示在设备中。 但我在一些设备上有一个很大的边框,我想找到一种方法,用图像、广告或其他东西来填充这些边框 我发现了这个:但它实际上不起作用 我不知道我是否选择了一个错误的政策,也许我应该选择kResolutionNoBorder。或者我误解了一些关于决心的事情,我的方式不正确 KResolutionExactFit将独立缩放宽度和高

我打算用cocos2d-x为android开发一款游戏,但我在分辨率方面遇到了一些问题。 我正在使用kResolutionShowAll分辨率策略来确保我的所有图像都显示在设备中。 但我在一些设备上有一个很大的边框,我想找到一种方法,用图像、广告或其他东西来填充这些边框

我发现了这个:但它实际上不起作用


我不知道我是否选择了一个错误的政策,也许我应该选择kResolutionNoBorder。或者我误解了一些关于决心的事情,我的方式不正确

KResolutionExactFit将独立缩放宽度和高度以适应屏幕,并且会扭曲所有使用的图像。图像质量不会改变您所谈论的太多
In the AppDelegate.cpp you can try this.

// initialize director



    CCDirector*  director = CCDirector::sharedDirector();
    CCEGLView*  EGLView  = CCEGLView::sharedOpenGLView();

    director->setOpenGLView(EGLView);


    CCSize screenSize = EGLView->getFrameSize();
    CCSize designSize = CCSizeMake(800, 480);
    EGLView->setDesignResolutionSize(designSize.width,designSize.height, kResolutionExactFit);
For the support for all devices you can use following code:
**Landscape Mode**

bool AppDelegate::applicationDidFinishLaunching()
    {

        // initialize director
        director = CCDirector::sharedDirector();
        EGLView  = CCEGLView::sharedOpenGLView();

        director->setOpenGLView(EGLView);


        CCSize screenSize = EGLView->getFrameSize();
        CCSize designSize = CCSizeMake(800, 480);
        EGLView->setDesignResolutionSize(designSize.width,designSize.height, kResolutionExactFit);


        if(screenSize.height > 480 && screenSize.height < 720 )
        {

            CCSize resourceSize = CCSizeMake(960, 540);
            director->setContentScaleFactor(resourceSize.height/screenSize.height);
            CCLog("Resolution Scale OF Karboon=%f",resourceSize.width/screenSize.width);
        }


        else if (screenSize.height >= 720 && screenSize.height < 800)
        {

            CCSize resourceSize = CCSizeMake(1280, 720);
            director->setContentScaleFactor(resourceSize.height/screenSize.height);
            CCLog("Resolution Scale OF NOTE=%f",resourceSize.width/screenSize.width);

        }

        else if(screenSize.height > 800)
        {
            CCSize resourceSize = CCSizeMake(1920, 1080);
            director->setContentScaleFactor(resourceSize.height/screenSize.height);
            CCLog("Resolution Scale OF Nexus=%f",resourceSize.width/screenSize.width);

        }

        else
        {


         director->setContentScaleFactor(1);
        CCLog("Resolution Scale OF S Advance=%f");

        }