cocos2dx 自学知识点之四 不同的分辨率适配问题
来源:互联网 发布:js json对象转url参数 编辑:程序博客网 时间:2024/06/05 06:36
不同的分辨率适配问题一直是移动应用开发领域的难题之一。在cocos2dx中,适配问题的解决办法如下:
最新的资源加载策略是使用CCFileUtils的setResourceDirectory设置的目录去寻找,如果找不到则会在Resources/目录下去查找。
例如:CCFileUtils()->setResourceDirectory("abc");
当创建一个精灵时:
CCSprite * spr = CCSprite::create("test.png");
Cocos2dx 首先会到Resource/abc下面去寻找图片test。png。如果找到了,就使用这张图片。如果没有找到就回到resouces目录下寻找它。
主要过程如下:
首先: 获取当前设备的类型,
然后:设置资源的路径名称。
代码如下:
TargetPlatform target = getTargetPlatform();
if(target == kTargetIpad)
{
CCFileUtils()->setResourceDirectory("xxx");
}else {
CCFileUtils()->setResourceDirectory("yyy");
}
TargetPlatform取值为:
kTargetWindows,
kTargetLinux,
kTargetMacOS,
kTargetAndroid,
kTargetIphone,
kTargetIpad,
kTargetBlackBerry,
注意:CCDirector::sharedDirector()->getWinSize();的方式根据其width判断是否为iphone5的话,那么千万注意(横屏距离):
你千万不要判断当前屏幕尺寸的 if(size.width==1136){/*是iphone5*/} (这种是错误的)
在iphone上只有480*320的尺寸,现在iphone5 则是 568*320 !!!
因此正确应该是:
if(size.width==568){/*是iphone5*/}
if(target == kTargetIphone)
{
Size size = CCDirector::sharedDirector()->getWinSize();
if(size.width==568){
CCFileUtils()->setResourceDirectory("iphone5directory");
} else{
CCFileUtils()->setResourceDirectory("iphonedirectory");
}
}
其他的方法见文章:
http://www.2cto.com/kf/201212/175527.html
或许会有更好的答案。
- cocos2dx 自学知识点之四 不同的分辨率适配问题
- cocos2dx 自学知识点之六 使用cocosbuild,需要注意的问题
- cocos2dx 自学知识点之五 getwinsize 获取到不同的数值 Default-568h@2x.png
- cocos2dx 自学知识点之五 getwinsize 获取到不同的数值 Default-568h@2x.png
- cocos2dx 自学知识点之二 菜单项
- cocos2dx不同分辨率下的自动适屏
- 手机h5适配不同分辨率的问题
- 移动端不同分辨率手机的适配问题
- cocos2dx的多分辨率适配(一)
- quick-cocos2dx多分辨率适配,控件重叠问题
- 适配不同分辨率
- 图片资源在不同分辨率设备文件夹下获取大小出现差异的问题(分辨率适配问题)
- cocos2dx 多分辨率适配
- cocos2dx 多分辨率适配
- cocos2dx 多分辨率适配
- cocos2dx 多分辨率适配
- android适配不同分辨率的手机
- android适配不同分辨率的手机
- 关于Alipay支付宝接口(Java版)
- 最聪明的 web 框架字符转义设计
- Zookeeper C Client分析
- ActiveReports 报表应用教程 (1)-Hello ActiveReports
- linux下core文件使用
- cocos2dx 自学知识点之四 不同的分辨率适配问题
- Java_集合_HashCode
- maven环境快速搭建
- 为文件、文件夹添加复制路径的右键菜单
- 从程序实例角度分析进程与线程
- 原生javascript兼容性
- 将十进制数/字符串转换为BCD码(将字符存入内存)
- NTP协议实现
- mysql 表引擎与frm,myd,myi