[cocos2d-x]针对不同的设备,选取不同的自适应图片
前言:
我们在进行移动设备开发的时候,我们常常会准备不同大小的图片资源以适应不同大小的设备,下面我称普清图片资源和高清图片资源。那么如何做到图片资源的自适应呢?下面我来用一个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]针对不同的设备,选取不同的自适应图片的更多相关文章
- @media screen 针对不同移动设备——响应式设计
概念: device-pixel-ratio:定义输入设备屏幕的可视宽度与可见高度比率. device-width:输入设备屏幕的可视宽度. orientation :屏幕横竖屏定向.landscap ...
- 如何利用rem在移动端不同设备上让字体自适应大小
本人也是一个刚刚接触前端的小虾米,对于移动端这一块更是一抹眼的黑,前端时间接手开始一个移动端的项目,在网上查询了一下rem的作用,百度搜索下来全是介绍rem的作用原理的(rem是根据根元素计算的),然 ...
- 得到设备是何种iPhone设备 + 怎么获得启动页面图片
一.前言 今天做一个功能,需要动态的获得启动页,然后根据不同设备去使用不用的启动页图片. 二.正文 常规来说,我们直接判断是何种设备,然后通过name去获得图片选择性加载即可.但是实际上遇到的两个问题 ...
- Android之本地相冊图片选取和拍照以及图片剪辑
转载请注明出处:http://blog.csdn.net/loveyaozu/article/details/51160482 相信有非常多Android开发者在日常开发中,因为项目需求,须要我们的A ...
- 在触屏设备上面利用html5裁剪图片
前言 如今触屏设备越来越流行,并且大多数已经支持html5了.针对此.对触屏设备开发图片裁剪功能, 让其能够直接处理图片.减轻服务端压力. 技术点 浏览器必须支持html5,包含fileReader. ...
- 在触屏设备上面利用html5裁剪图片(转)
前言 现在触屏设备越来越流行,而且大多数已经支持html5了.针对此,对触屏设备开发图片裁剪功能, 让其可以直接处理图片,减轻服务端压力. 技术点 浏览器必须支持html5,包括fileReader, ...
- 移动设备的HTML页面中图片实现滚动加载
如今移动互联网风靡全球,移动页面的元素也是丰富多彩,一个移动页面的图片超过10张已经是再正常不过的事情了.但是相对,很多移动用户还停留在2G,3G这样的网络中.那么这样带宽的用户,在浏览这样的页面时, ...
- Azure IoT Hub 十分钟入门系列 (4)- 实现从设备上传日志文件/图片到 Azure Storage
本文主要分享一个案例: 10分钟内通过Device SDK上传文件到IoTHub B站视频:https://www.bilibili.com/video/av90224073/ 本文主要有如下内容: ...
- [device-orientation] 使用手机设备的方向感应实现图片选择
<div class="main"> <h2>Device Orientation</h2> <table> <tbody&g ...
随机推荐
- QSlider解决点击不能到该位置问题
方法一:可以继承重写一个QSlider 方法二:1.instaneventfiliter(this);slider安装一个事件过滤器 2.在eventfilter(QObject *,QEvent*) ...
- JAVA GUI学习 - JInternalFrame浮动窗口:可拖拽窗口(依赖于父窗口)
public class JInternalFrameKnow extends JInternalFrame { public JInternalFrameKnow() { this.setBound ...
- JAVA的IO学习
IO 有具体的分类: 有具体的分类:1:根据处理的数类型不同:字节流和字符流.2:根据流向不同:输入流和输出流. =============(补充字节跟字符概念区分)================= ...
- C#语言基础之转义字符、变量、常量、类型转换
1.转义字符: Tab键:/t 反斜杠:// 单引号:/’ 双引号:/” 回车:/r 换行:/n 警告:/a 退格:/b 换页:/f 空:/0 2.变量 ...
- Oracle递归sql笔记
查询一个机构下所辖机构: select * from t00_organ t start with t.organkey=#uporgankey# connect by prior t.organke ...
- 基于百度地图api + AngularJS 的入门地图
转载请注明地址:http://www.cnblogs.com/enzozo/p/4368081.html 简介: 此入门地图为简易的“广州大学城”公交寻路地图,采用很少量的AngularJS进行inp ...
- Microsoft Jet 数据库引擎找不到对象'Sheet1$_'。请确定对象是否存在,并正确地写出它的名称和路径
We have a CRM add-on for Importing Price Lists into CRM. For this tool, we expect the details to be ...
- sql server单表导入、导出
sql server单表导入.导出(通过CSV文件) 导出:直接打开查询分析器查询要导出表的信息(select * from 表),得到的结果全选,右键另存为 xxx.csv文件 (得到该表的所有 ...
- Windows Phone 8初学者开发—第13部分:设置LongListSelector中磁贴的样式
原文 Windows Phone 8初学者开发—第13部分:设置LongListSelector中磁贴的样式 第13部分:设置LongListSelector中磁贴的样式 原文地址: http://c ...
- Error creating bean with name 'enableRedisKeyspaceNotificationsInitializer'
@Configuration public class HttpSessionConfig { @Bean public static ConfigureRedisAction configureRe ...