位置: 编程技术 - 正文

cocos2dx中使用JPG图和只带Alpha的PNG图合成渲染(cocos2d怎么用)

编辑:rootadmin
手游控制安装包的大小是非常重要的,这里介绍一种方法。将带Alpha通道的PNG图片分拆成RGB和Alpha分别保存,其中保存RGB的这张图把它转换成JPG&#;式的文件,保存Alpha图片的就用PNG&#;式的。原理是JPG&#;式的压缩率比较的高可以减小图片的大小,但是它没有Alpha,而Alpha数据单独拎出来一般比较小,所以直接用PNG&#;式来保存。问题是怎样分拆PNG图片,又怎样在程序中怎样将两张图片的数据合并起来以达到和直接用一张带Alpha的PNG图渲染出来是一样的效果。这里提供我自己的方法,给大家参考下,有错误的地方希望大家指出来,谢谢!

推荐整理分享cocos2dx中使用JPG图和只带Alpha的PNG图合成渲染(cocos2d怎么用),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:cocos导入图片,cocos2dx 图集,cocos2dx文档,cocos2dx 图集,cocos2djs,cocos2djs,cocos2djs,cocos2djs,内容如对您有帮助,希望把文章链接给更多的朋友!

  1. 将PNG图片分拆,也就是将一张PNG图片生成出一张带RGB的JPG&#;一张带Alpha的PNG,我使用的工具是imagemagick。这里以bg.png为例:

    首先ImageMagick工具提取出Alpha通道,(命令: convert bg.png -channel A -alpha extract bgAlpha.png)

    然后在将bg.png转成JPG&#;式 输出为bg.jpg。jpg&#;式已经不包含Alpha通道,而且jpg的压缩率比较高(这是采用这种方法可以减小图片大小的根本所在)。(convert bg.png bg.jpg)

  这样就得到了bg.jpg 和bgAlpha.png,这两张图片就是我们需要的资源。这样转换之后bg.jpg&#;bgAlpha.png的大小大概比bg.png的 小2~3倍

  2. 在程序中合成

cocos2dx中使用JPG图和只带Alpha的PNG图合成渲染(cocos2d怎么用)

   由于在win,Android平台采用的JPG和PNG解析库和IOS上的不同,所以在程序中要分别处理,这里介绍下在IOS上的方法(win和Android平台解析参照CCImage的_initWithJpgData和_initWithPngData 方法,合并和IOS的平台类&#;,不同地方文中会指出), 这个方法添加在CCImage.mm 文件中即可使用(cocos2dx版本是2.2.2)。

   

这个方法执行之后bg.jpg和bgAlpha.png合并完成,当前的CCImage对象生成的纹理就和直接用bg.png初始化后生成的纹理效果是一样的了。

  另外附上一个将png图片分拆成Jpg和Alpha的shell脚本(shell不太熟,将就着用^_^),使用这个脚本的前提是你已经安装了imagemagick,这个脚本运行之后会遍历当前目录下的所有png文件,然后分拆这些文件,并且会删除原png文件。(如果不想删除原png文件,把`rm $src`去掉即可)

 

cocos2dx-js 集成google play service和admob--------错误处理 官方解决方案在这里去google但是有很多细节上面没有提起。如何导入googleservicelib首先将google-play-services_lib拷贝到自己的android工程目录下。千万不要第一

cocos2dx 按钮重复渐变效果的实现 想实现一个按钮,在未选中前进行重复的动画效果,试了下直接发代码吧:boolMenuItemSpritTest::init(){////////////////////////////////1.superinitfirstif(!Layer::init()){retu

cocos2d-x改底层之获取UIListView的实际内容大小 实际项目中UI界面中经常会用到UIListView,大多会在CocoStudio中直接添加这个控件。但是在使用中发现了一些坑和功能缺乏,然后就看了一下底层的逻辑,

标签: cocos2d怎么用

本文链接地址:https://www.jiuchutong.com/biancheng/368809.html 转载请保留说明!

上一篇:cocos2dx 多分辨率适配(cocos2dx适配)

下一篇:cocos2dx-js 集成google play service和admob--------错误处理(cocos2dx 3.17)

  • 首套房契税税率是多少?
  • 验收入库材料结转怎么写
  • 个税申报赡养老人只能填一个吗
  • 综合年度自行申报后要怎么操作
  • 公司支付佣金给个人合法吗
  • 商业银行的下列哪些行为违反了法律规定?给存款大户
  • 期间费用的控制方法主要有
  • 外贸企业可以做委托加工吗
  • 社保的计提缴纳分录怎么写
  • 商贸企业可以使用月末一次加权平均
  • 税款滞纳金可以退吗
  • 国税发200931号文件解读
  • 增值税税率征收率变化时间节点
  • 酒店挂账要做收款凭证吗
  • 预提费用和待摊费用是根据以下哪项原则设置的会计科目
  • 中小五金企业如何进行成本核算
  • 政府收购企业资产规定
  • 调整固定资产原值减少
  • 个人所得税申报截止时间
  • 合同付款会计分录
  • 线上生活服务app有哪些
  • 找发票抵工资
  • 企业清算有哪些类型
  • 写一段简单的自我介绍
  • php中this和self的区别
  • 商贸企业小规模转一般纳税人条件
  • 债务重组是什么工作
  • win11更新卡主
  • ensmix32.exe进程安全吗 ensmix32进程是什么文件产生的
  • 发行债券的会计分录摊销
  • 汇兑应计入哪个科目
  • 静态显示方式
  • 融资租赁的固定资产所有权归谁
  • php常用工具
  • 小规模未开票收入如何申报增值税
  • 4、nerf(pytorch)
  • 2023 年值得关注的 9 个 Web3 发展趋势
  • 特征提取原理
  • MMEngine理解
  • ps怎么选中图形放大
  • java中的泛型的好处
  • 开票软件怎么增加开票员
  • 会计信息不采集有什么后果
  • 2022年最新办公用房标准
  • 固定资产是价税合计吗
  • 差额纳税的劳务派遣安保服务征收率
  • 摄影行业开票
  • 农业技术服务费税率
  • 补发工资如何做账
  • 创建一个空的学生基本信息表的副本
  • 在mysql中设置事务保存点
  • 从内地到香港坐飞机到国内
  • 公司代缴社保生育津贴大概领多少
  • 买两个能退一个吗
  • 农民专业合作社属于什么经济类型
  • 无需缴纳的税费是什么
  • 会计每个月需要打印科目余额表吗
  • mysql太慢
  • sqlserver 17051解决方案
  • 远程修改微信聊天记录
  • linux的进程管理命令
  • win10苹果版
  • win7窗口大小怎么设置
  • centos7.2安装
  • win10文件夹右上角搜索不能用
  • linux %1
  • cocos2d安装
  • 样式的使用方法
  • 动态加载dll错误
  • 通过制作潜望镜活动,你获得哪些宝贵的经验
  • python的入门教程
  • jquery判断checkbox是否选中及改变checkbox状态的实现方法
  • 税务局24小时人工服务电话
  • 贴现再贴现转贴现的联系
  • 国税局和税务局合并
  • 出口退税函调回函时间
  • 我们如何理解税收意义
  • 怎样加入广东省民间文艺家协会
  • 北京朝阳区地税局地址电话
  • 在电脑上怎样做word的文档
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设