首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在Cocos2dx中选择安卓设备的设计分辨率大小

在Cocos2dx中选择安卓设备的设计分辨率大小
EN

Stack Overflow用户
提问于 2014-02-24 04:20:01
回答 1查看 3.5K关注 0票数 1

当我试图为Android设备选择分辨率大小时,我遇到了麻烦。

我只想拥有大约4-5个资源(图像、背景、精灵等等),但可以在任何Android设备上运行。我能做什么合适的设计分辨率?例如,320x480,720x1280,还有什么?

你能给我一些建议供我选择吗?

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-02-24 05:19:50

代码语言:javascript
运行
复制
In your AppDelegate class:

本决议适用于景观模式

代码语言:javascript
运行
复制
bool AppDelegate::applicationDidFinishLaunching()
{

    /**********************  CCEGLView::sharedOpenGLView()->setDesignResolutionSize() //set design resolution size and mode
     *********************  CCEGLView::sharedOpenGLView()->getFrameSize() //get screen resolution
     *********************CCDirector::sharedDirector()->getWinSize() //get design resolution
     *********************  CCDirector::sharedDirector()->getVisibleSize() //get design resolution’s visable area size
     *********************  CCDirector::sharedDirector()->getVisibleOrigin() //get origin of the visable area of design resolution*/


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

    director->setOpenGLView(EGLView);


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


    CCLog("Screen Size:%f %f",screenSize.width,screenSize.height);


    if(screenSize.height >= 320 && screenSize.height <= 480)
    {
        CCSize resourceSize = CCSizeMake(800, 480);
        director->setContentScaleFactor(resourceSize.height/screenSize.height);
        CCLog("Resolution Scale OF Default =%f",resourceSize.height/screenSize.height);

    }


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

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


    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.height/screenSize.height);

    }

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

    }

    else
    {


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

    }
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21978814

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档