U8SDK——自动处理渠道SDK的角标(补充)

作者: 分类: U8SDK 发布时间: 2015-05-27 09:16 61条评论

参照之前@徒步同学分享的一篇统一自动处理各个渠道的角标,我也试着在U8SDK中实现这种方式。本文就分享一下,我的实现思路和中间遇到的一些问题。
 
我们知道,很多渠道SDK是要求在游戏的图标上,加上渠道SDK提供的角标。以前我们通常的做法是,让美术人员去完成游戏图标和角标合在一起的工作。这样不仅费时费力,而且效率低下。之前U8SDK中的处理是,将这些事先已经合上角标的图标放在各个渠道配置目录下的res目录下,名称必须和游戏中的图标名称一样。这样打包工具在合并资源的时候,会把渠道SDK配置目录下的资源覆盖到母包反编译后的目录,这样打出来的渠道包,就自然是新的含有角标的图标了~
 
但是,这个方式效率依然是低下的,因为还是需要美术同学去将游戏图标和角标合在一起,然后发给游戏客户端同学。那么,之前@徒步同学提供了很棒的思路,这里我们就按照他提供的方式,使用python中的Pillow图片处理模块来自动实现将渠道SDK的角标合在游戏图标上。

关于Pillow模块的安装,可以参照@徒步之前的文章,这里不再赘述。补充一点,如果你按照之前我说的,将u8sdk打包工具升级到了python3.x,那么你就无需再像 “#ff0000;”>之前的文章 “#3366ff;”>上说的那样去下载PIL模块安装了,直接在命令行中运行 pip install Pillow 即可完成Pillow模块的安装
 
实现思路:

1、在打包工具的各个游戏配置目录下,加一个子目录icon。在这个子目录中,放一个512 * 512的游戏图标的ICON。注意,一定要是PNG格式。
u8sdk_logo

2、在各个渠道SDK配置目录下,加一个子目录icon_marks。在这个目录下放置该渠道SDK要求的角标。注意,角标大小为512*512的PNG。角标的名称必须是
left-bottom.png,left-top.png,mini-icon.png,right-bottom.png,right-top.png 分别对应着:左下角角标,左上角角标,中下角小角标,右下角角标,右上角角标。

3、在渠道配置文件的channel节点中,我们增加一个 value的值分别为lb,lt,mb,rb,rt分别对应:left-bottom.png,left-top.png,mini-icon.png,right-bottom.png,right-top.png五种类型的角标

4、在打包脚本中,我们通过channel[‘icon’]这个参数来判定当前要使用哪个角标。然后将游戏配置目录下的icon.png和当前指定的角标.png使用图像处理工具合并在一起,形成一个512*512的含有角标的图标。

5、获取当前游戏AndroidManifest.xml的application节点中配置的图标名称,比如叫@drawable/app_icon。

6、将刚刚合成好的含有角标的图标,进行缩放,并输出到反编译目录/res目录下,对应各个分辨率的目录下。分别是drawable-ldpi(3636),drawable-mdpi(4848),drawable-hdpi(7272),drawable-xhdpi(9696),drawable-xxhdpi(144*144)五个目录下。
 

xxhdpi的图标xhdpi的图标hdpi的图标mdpi的图标ldpi的图标
 
代码实现:
 

 

本文出自 U8SDK技术博客,转载时请注明出处及相应链接。

本文永久链接: http://www.uustory.com/?p=1778

评论功能已经关闭,请加入U8SDK技术群进行讨论和咨询:207609068
Ɣ回顶部
U8SDK技术群 x
技术同学请加入
点击加入