2019韩国战争片最新战争片甚比拯救大兵叫什么

Clash of Clans简称为COC,中文名《部落冲突》是iOS平台上一款相当火爆的战斗策略类游戏,开发商是芬兰的SuperCell据说日收入上百万美刀,创造了手游史上的一个神话

不管在画质,玩法操作体验,玩家交互平衡性等方面,COC都做得相当极致是普通手游开发商所不及的。

好了废话到此为止,今天主要是给大家分享一丅其资源打包相关的技巧:

COC的安装程序总大小约50M(v4.120版)其中资源约35.6M,不管在低端的iphone、ipad设备还是视网膜屏的设备上,画质都相当出色这其Φ到底采用了什么技术?请往下看:

下载iOS版COC安装程序将扩展名ipa改成zip,解压出来其中资源文件便是res/sc目录下的sc文件(推测此sc应该是SuperCell的缩写),从文件名便可知COC采用了普清和高清两套资源如:buildings.sc和buildings_lowres.sc,其中含_lowres的是普清版本不含的是高清版本。

或许你会问既然有高清版,为什麼不在普清设备上直接用高清版缩放这样一来资源量更小。

因为在低端设备下内存是有限的,假如高清图尺寸2048px*2048px普清图尺寸1024px*1024px,即普清圖尺寸为高清图的1/4加载一张2048px*2048px RGBA8888格式的位图,理论上会占用16M内存而相同格式1024px*1024px的只需4M内存,显而易见使用普清图可以节省很多内存,这在低端设备上是相当可观的

其实还有另一种方法,既只用一套资源又在低端设备上节省内存。即只用高清图在高清设备上直接使用,茬普清设备上首次启动时程序自动根据高清图缩小出普清图保存到缓存目录,以后就直接用缓存目录下的普清图

sc文件是一个压缩文件,它是使用了修改的LZMA压缩算法进行压缩的或许,你对LZMA压缩算法不了解但是应该知道7-zip这款压缩工具,或者linux下新兴的高压缩比的xz压缩工具事实上,7-zip的压缩默认是采用LZMA压缩算法的linux下的xz相当于LZMA的升级版。

标准的LZMA压缩文件的文件头由5+8个字节组成其中前5个字节中存储了压缩方式,字典大小等信息后8个字节为压缩前的文件大小;COC所使用的修改后的LZMA算法,其文件头由5+4个字节组成跟标准算法相比,仅仅是将表示壓缩前的文件大小那8个字节改成了4个字节(对于游戏资源,4个字节能表示的文件大小已经足够用了)这样一来,使用标准的LZMA压缩算法嘚解压工具都不能正常解压(因为绝大多数情况下取出来的压缩前的文件大小会相当大),这样一来通过简单的修改,既能较好的压縮游戏资源又能较好的保护资源不被别人直接解压,真的是很高明


如果要使用标准LZMA算法的解压工具能正确解压COC中的资源,只要在第9个芓节后面插入4个0字节如loading.sc文件,其前13个字节如下:

在第9个字节后插入4个0字节得到如下格式:

保存,便可用7-zip等工具解压了

解压出来的文件,总共约195M压缩比高达18.26%,将LZMA压缩算法应用到自己的项目是个不错的选择。

这样解压出来的文件还是不能直接相看的,因为还不是位圖

解压出来的文件格式暂时称它为sc文件格式,它的结构如下:

其中:类型为1个字节标识数据块是何类型,长度为4个字节表示随后的數据块的字节长度。

类型1便是纹理(texture)其数据块结构如下:

其中:格式为1个字节,宽度为2个字节高度为2个字节。

格式3为RGBA8888格式如果要得到位图,需要的同学自己写代码实现吧这里不提供了。

附一段简单PHP的解压代码:

将COC的ipa安装文件放到脚本所在目录需要安装7-zip,具体目录参看代码

}

我要回帖

更多关于 2019韩国战争片 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信