Retina 适配

cocos2dx 如何适配 Retina屏

这个和屏幕没有关系吧,你使用原来的适配方法就可以。关于适配可以参考http://cn.cocos2d-x.org/article/index?type=cocos2d-x&url=/doc/cocos-docs-master/manual/framework/native/v3/multi-resolution/zh.md

我得游戏中有高清和普通两套图,使用非Retina屏得设备时,我的程序就自动加载普通的图,使用Retina时就加载高清图

请问怎么设置

选择不同资源图片的方法参考目录tests/cpp-tests/Classes/AppDelegate.cpp 中的applicationDidFinishLaunching函数。

bool AppDelegate::applicationDidFinishLaunching()
{
    // As an example, load config file
    // XXX: This should be loaded before the Director is initialized,
    // XXX: but at this point, the director is already initialized
    Configuration::getInstance()->loadConfigFile("configs/config-example.plist");

    // initialize director
    auto director = Director::getInstance();
    auto glview = director->getOpenGLView();
    if(!glview) {
        glview = GLView::create("Cpp Tests");
        director->setOpenGLView(glview);
    }

    director->setDisplayStats(true);
    director->setAnimationInterval(1.0 / 60);

    auto screenSize = glview->getFrameSize();

    auto designSize = Size(480, 320);

    auto fileUtils = FileUtils::getInstance();
    std::vector searchPaths;
    
    if (screenSize.height > 320)
    {
        auto resourceSize = Size(960, 640);
        searchPaths.push_back("hd");
        searchPaths.push_back("hd/scenetest");
        searchPaths.push_back("hd/scenetest/ArmatureComponentTest");
        searchPaths.push_back("hd/scenetest/AttributeComponentTest");
        searchPaths.push_back("hd/scenetest/BackgroundComponentTest");
        searchPaths.push_back("hd/scenetest/EffectComponentTest");
        searchPaths.push_back("hd/scenetest/LoadSceneEdtiorFileTest");
        searchPaths.push_back("hd/scenetest/ParticleComponentTest");
        searchPaths.push_back("hd/scenetest/SpriteComponentTest");
        searchPaths.push_back("hd/scenetest/TmxMapComponentTest");
        searchPaths.push_back("hd/scenetest/UIComponentTest");
        searchPaths.push_back("hd/scenetest/TriggerTest");
        director->setContentScaleFactor(resourceSize.height/designSize.height);
    }
    else
    {
        searchPaths.push_back("scenetest/ArmatureComponentTest");
        searchPaths.push_back("scenetest/AttributeComponentTest");
        searchPaths.push_back("scenetest/BackgroundComponentTest");
        searchPaths.push_back("scenetest/EffectComponentTest");
        searchPaths.push_back("scenetest/LoadSceneEdtiorFileTest");
        searchPaths.push_back("scenetest/ParticleComponentTest");
        searchPaths.push_back("scenetest/SpriteComponentTest");
        searchPaths.push_back("scenetest/TmxMapComponentTest");
        searchPaths.push_back("scenetest/UIComponentTest");
        searchPaths.push_back("scenetest/TriggerTest");
    }
    
    fileUtils->setSearchPaths(searchPaths);

#if (CC_TARGET_PLATFORM == CC_PLATFORM_WP8) || (CC_TARGET_PLATFORM == CC_PLATFORM_WINRT)
    // a bug in DirectX 11 level9-x on the device prevents ResolutionPolicy::NO_BORDER from working correctly
    glview->setDesignResolutionSize(designSize.width, designSize.height, ResolutionPolicy::SHOW_ALL);
#else
    glview->setDesignResolutionSize(designSize.width, designSize.height, ResolutionPolicy::NO_BORDER);
#endif

    auto scene = Scene::create();
    auto layer = new TestController();
#if (CC_TARGET_PLATFORM != CC_PLATFORM_WP8) && (CC_TARGET_PLATFORM != CC_PLATFORM_WINRT)
    layer->addConsoleAutoTest();
#endif

    layer->autorelease();

    scene->addChild(layer);
    director->runWithScene(scene);

    // Enable Remote Console
#if (CC_TARGET_PLATFORM != CC_PLATFORM_WP8) && (CC_TARGET_PLATFORM != CC_PLATFORM_WINRT)
    auto console = director->getConsole();
    console->listenOnTCP(5678);
#endif

    return true;
}


```

我想找一种类似于 iOS ,在高清图名称后加上@2x 就能根据屏幕自动加载高清图