使用 cocosbuilder3.0 为多设备开发通用UI
来源:互联网 发布:数据库王珊第5版pdf 编辑:程序博客网 时间:2024/06/06 04:48
从CocosBuilder3.0 开始,引起了自动缩放目录的支持, 我们可以把资源放到这个目录中, 然后CCB会根据目标设备,缩放到一个合理的尺寸中
再在Cocos2D-X中,通过判断设备类型,引进对应的目录中的资源, 这种新的机制, 给我们提供了许多的方便
自动缩放前的资源:
CCB\Resources\Resources-auto\xxxxxx.png
自动缩放后的资源:
CCB\Published-IOS\resources-iphone\xxxxxx.png
CCB\Published-IOS\resources-iphonehd\xxxxxx.png
CCB\Published-IOS\resources-ipad\xxxxxx.png
CCB\Published-IOS\resources-ipadhd\xxxxxx.png
CCB\Published-Android\resources-resources-xsmall\xxxxxx.png
...
cocos2d-x中的程序代码:
需要根据当前设备的类型,加载对应的资源,这里给出部份代码:
在AppDelegate.cpp中的applicationDidFinishLaunching 函数中加入以下代码:
std::vector<std::string>vecFindPath;
TargetPlatform target = getTargetPlatform();
CCSize frameSize = pEGLView->getFrameSize();
switch (target)
{
casecocos2d::kTargetIphone:
{
vecFindPath.push_back("Published-iOS");
if(frameSize.width==480 && frameSize.height==320) //iphone3g
{
vecFindPath.push_back("Published-iOS/resources-iphone");
}
else if(frameSize.width==960 && frameSize.height==640) //iphone4
{
vecFindPath.push_back("Published-iOS/resources-iphonehd");
}
else if(frameSize.width==1136 && frameSize.height==640) //iphone5
{
vecFindPath.push_back("Published-iOS/resources-iphone5"); //这个不是自动生成的,3/4的图不好适应,可以单独在这里做适配
vecFindPath.push_back("Published-iOS/resources-iphonehd");
}
else
{
CCMessageBox("资源加载失败,无法识别iphone手机版本型号!","错误");
}
}break;
case cocos2d::kTargetIpad:
{
vecFindPath.push_back("Published-iOS");
if(frameSize.width==1024 && frameSize.height==768) //ipad/ipadmini
{
vecFindPath.push_back("Published-iOS/resources-ipad");
}
else if(frameSize.width==2048 && frameSize.height==1536) //ipad3/ipad4
{
vecFindPath.push_back("Published-iOS/resources-ipadhd");
}
else
{
CCMessageBox("资源加载失败,无法识别ipad版本型号!","错误");
}
}break;
casecocos2d::kTargetAndroid:
{
vecFindPath.push_back("Published-Android");
//...
}break;
这样便可以轻松的使用一套资源图片适配到所有设备了, 但注意在CCB中设计的时候一定要换百分比去调整位置, 否则就很难实施起来了!
- 使用 cocosbuilder3.0 为多设备开发通用UI
- cocosbuilder3.0 使用小记
- cocosbuilder3 使用注意事项
- Cocosbuilder3.x使用
- 如何为iOS设备开发通用的应用程序
- 给cocosbuilder3.0beta增加cocos2dx开发插件(1)输入框
- Android通用UI开发技术(1)
- 使用Eclipse为Nokia设备开发移动应用程序
- 为 Android* 设备构建动态 UI
- hololens开发笔记-DEP6957未能使用“通用身份验证”连接到设备
- 使用 adb 命令一次性为多个设备安装 apk
- 使用NetBeans开发Java桌面应用程序时修改应用的UI样式为Windows
- 使用 Appium 进行多设备的集群分布式 UI 自动化测试
- iOS开发教程:iOS设备UI尺寸参考【原文转载】
- monkeyrunner进行多设备UI测试
- UI通用界面设计指南
- JS通用UI框架
- 【Unity3D通用UI框架】
- Codeforces Beta Round #74 (Div. 2 Only)——C
- Linux自动判断是否插入网线的几种方法
- DbgPrint
- Django URL传递参数的方法总结
- IOS __bridge,__bridge_transfer和__bridge_retained
- 使用 cocosbuilder3.0 为多设备开发通用UI
- CentOS与Ubuntu命令中的不同之处
- Android开发之旅:进程与线程
- Eclipse下jQuery文件报错解决方案
- <meta http-equiv=名称 content=值>
- ubuntu wine
- C++当多次调用同一实参的模板,到底编译器实列化几次份代码的问题
- writeLog
- vim 空格和换行的删除和替换