就是cocostudio屏幕适配问题,假设我有一套320x480的图片,来适配 320×480 480×800 540×960等小的屏幕,这样图片缩放后看起来不会太模糊。但是,如果我要适配比较大的屏幕,例如1400 * 1050 2048 * 1152 2800 * 2100等,假设还用那套320x480的图片,这样缩放后就会很模糊,该怎么办呢??可不可以像cocosbuilder那样,可以设置对应分辨率的图片目录。
我要的效果是,整个游戏就2套资源,当屏幕分辨率小于某个分辨率时,就选择小的那套图片,反之就选择大的那套图片,这样的话,就不会出现大的屏幕分辨率图片缩放后模糊了。。。求解答,该怎样用cocostudio做?
可以的,在appdelegate里直接设置资源的搜索目录即可。
参考testcpp
// initialize director
CCDirector *pDirector = CCDirector::sharedDirector();
pDirector->setOpenGLView(CCEGLView::sharedOpenGLView());
CCSize screenSize = CCEGLView::sharedOpenGLView()->getFrameSize();
CCSize designSize = CCSizeMake(480, 320);
CCFileUtils* pFileUtils = CCFileUtils::sharedFileUtils();
std::vector<std::string> searchPaths;
if (screenSize.height > 320)
{
CCSize resourceSize = CCSizeMake(960, 640);
searchPaths.push_back("hd");
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");
pDirector->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");
}
pFileUtils->setSearchPaths(searchPaths);
那如果cocostudio做同一个界面,有2套资源,是不是要布局2次。小的那套资源布局一次,然后大的那套资源又重新布局一次??版主大人能不能说具体点,具体在cocostudio上怎么操作???拜托了
cocostudio的话可以利用布局系统和百分比来做UI啊。,尽量使用九宫格做纹理。灵活运用布局的话是可以胜任主流分辨率的。
当然你需要完全分开的两套资源的话,可以考虑用相同的配置文件搭配两套不同大小的贴图,如果说你的控件不用到Auto模式,则控件不会随纹理大小变化的。当然最好是搭配上布局系统来用。
(声明:该建议仅限于理论上的建议,目前尚未做验证。如果你希望减少编辑的时间,可以尝试该方法)
目前cocostudio工具集已经开始考虑针对资源部分提供多资源方案,但是这个仍在讨论中,暂时没有非常优秀、非常统一的方案。
没这个功能很遗憾啊,我如果用小的分辨率资源就只能在小屏幕手机上用,像ipad那些缩放后就会模糊了达不到效果,我就是想ipad那一类就用另一套大的分辨率资源,类似cocosbuilder那样的
之前确实是有人会在设置多套分辨率图,然后多次编辑界面。并且屏幕差距足够的话也需要考虑制作多套。
我觉得需要尽快加一个这个功能,这样用的人更多,毕竟现在小屏和大屏机器都要考虑适配效果,多编辑一次界面耗费的时间太多了。我们现今都还是用的cocosbuilder,要是cocostudio有这个功能,全公司的程序猿都会转用这个工具,因为cocosbuilder已经不更新了,感觉不能用下去了
请您放心,我们一定会尽快添加上这个功能。但是新版本已经快发布了,所以当前版本没有时间来完成该功能,如果条件允许的话我们会在下一个版本完成该功能,尽请期待。