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 就能根据屏幕自动加载高清图