[cocos2d-x]针对不同的设备,选取不同的自适应图片
2013-09-13 11:51
197 查看
前言:
我们在进行移动设备开发的时候,我们常常会准备不同大小的图片资源以适应不同大小的设备,下面我称普清图片资源和高清图片资源。那么如何做到图片资源的自适应呢?下面我来用一个demo展示一下这个效果的实现。工具介绍:
IOS开发有一个非常好用的图片合成工具,能够让多个png图片合成一个大的资源图片,也可以生成普清和高清的两种资源图片,这个工具就是TextureParker。如何用TextureParker生成资源图片
打开TP工具,然后Add Sprites,添加上你想要添加的图片资源(最好是png图片),然后点击AutoSD选项->Cocos2d-x HD/SD->Apply。然后看看路径Data file和Texture file上是否加上HD/,如果加上了那再点击Publish导出来就OK了。实现步骤:
1.新建项目文件,并且将HD和SD文件夹导入到项目的Resources中
2.在AppDelegate的applicationDidFinishLaunching方法中添加图片的自适应代码
//图片自适应 TargetPlatform target = getTargetPlatform(); //如果是iPhone设备 if (target == kTargetIphone) { CCSize size = CCEGLView::sharedOpenGLView()->getFrameSize(); if (size.width == 480) { CCFileUtils::sharedFileUtils()->addSearchPath("SD/"); CCLog("普清"); } else { CCFileUtils::sharedFileUtils()->addSearchPath("HD/"); CCLog("高清"); } }
3.在主view中调用图片资源创建精灵
CCSize size = CCDirector::sharedDirector()->getWinSize(); CCSpriteFrameCache::sharedSpriteFrameCache()->addSpriteFramesWithFile("pic.plist"); CCSpriteFrame * sp1 = CCSpriteFrameCache::sharedSpriteFrameCache()->spriteFrameByName("alien.png"); CCSprite * sp = CCSprite::createWithSpriteFrame(sp1); sp->setPosition(CCPointMake(size.width/2, size.height/2+40)); this->addChild(sp);
测试:
选择不同的设备,例如选择硬件->设备->iPhone跟iPone3.5(inch),就会看到调用的不同的资源效果。相关文章推荐
- [cocos2d-x]针对不同的设备,选取不同的自适应图片
- [cocos2d-x]针对不同的设备,选取不同的自适应图片
- UI10_cell自适应高度(显示尺寸不同图片.长短不一的字符串)
- 针对有两张不同图片要做细化的图片登陆
- Android针对不同的手机屏幕大小设计图片资源与编码
- JS判断不同web访问环境,主要针对移动设备,
- 基于html5背景图片自适应代码是一款背景不随滚动条滚动,会根据分辨率不同自动匹配对应的背景图片
- 分享一个针对触摸设备优化的图片幻灯jQuery插件 - touchtouch
- 【Android】文字、图片自适应设备屏幕分辨率
- iphone不同设备启动图片以及适配
- 根据设备不同,加载不同尺寸图片
- Android针对不同的手机屏幕大小设计图片资源与编码(转载)
- cocos2d-x-2.1项目android自适应不同分辨率
- 针对cocos2d图片资源自定义加密的解密
- 应用键横竖屏切换;label中显示图片;不同类型设备适配的代码;UIWebView字体大小、字体颜色、背景色的设置;
- Cocos2d-X学习——Android不同设备FPS不同问题
- cocos2d-x自适应android不同分辨率,使用多套资源
- web知识-根据用户的设备自动选择质量不同的图片。
- js实现相同容器内部不同尺寸图片自适应
- android 在不同设备上使图片不失真