在cocos2dx中使用纹理图集是非常节省资源的,在这里推荐 TexturePacker,而且 TexturePacker工具的加密接口也非常的好用,下面就来介绍一下。。。TexturePacker 工具的加密,只是相对于一般使用的基础上增加了几步对密码操作的步骤(目前的加密功能仅适用于.pvr.ccz式):一、生成密码(图形化界面和命令行两种方式)方式一:图形化界面生成密码bubuko.com,布布扣密码可以自己手动过输入,或者使用下面的这几个按钮,完后点击外面的空白区域就自动保存了。。。(2)shell脚本命令行生成密码1>、首先安装 commandline Tool, 菜单栏 -> Install commanndLine Tool2>、参照 不忘初“辛”的帖子 生成图集的脚本,并在此基础上增加 加密操作:1 # next line is encrypt command option 2 # --content-protection "" bubuko.com,布布扣 1 #! /bin/bash 2 3 CURRENT_DIR=`dirname $0` 4 5 # input paths 6 IMAGE_DIR=$CURRENT_DIR/imgs/ 7 8 # path that game proj use 9 GAME_IMAGE_PATH=$CURRENT_DIR/ # path of the texture packer command line tool TP=/usr/local/bin/TexturePacker # $1: Source Directory where the assets are located # $2: Output File Name without extension # $3: RGB Quality factor # $4: Scale factor # $5: Max-Size factor # $6: Texture Type (PNG, PVR.CCZ) # $7: Texture format # $8: encrypt key, Key: bit, hex digits [A-F0-9] pack_textures() { ${TP} --smart-update --texture-format $7 --format cocos2d --data "$2".plist --sheet "$2".$6 --maxrects-heuristics best --enable-rotation --scale $4 --shape-padding 1 --max-size $5 --opt "$3" --trim --premultiply-alpha --content-protection $8 $1/*.png } # do the job for i in $IMAGE_DIR/* do if [ -d $i ] then spriteSheetName=`basename $i` pack_textures $i $GAME_IMAGE_PATH/$spriteSheetName ‘RGBA‘ 1 ‘pvr.ccz‘ "pvr2ccz" "" fi done # next line is encrypt command option # --content-protection "" bubuko.com,布布扣至此,加密操作便是完了,密码是 。二、在cocos2dx中读取图集:1、由于在cocos2dx引擎中集成了图集解密所需要的 ZipUtils类,所以不用引入直接使用就好。。。2、在游戏还没有使用图集之前进行解密1 // 图集解密 ZipUtils::setPvrEncryptionKey(0x, 0x, 0x, 0x); 3、然后,然后就正常使用就好啦,我贴出我在Lua中的使用:1 local spriteFrameCache = cc.SpriteFrameCache:getInstance()2 spriteFrameCache:addSpriteFramesWithFile("tmp/texture_tmp.plist", "tmp/texture_tmp.pvr.ccz") 以上使用的cocos2dx的版本为 v3.2,TexturePacker版本为。。。额,装完命令行工具就找不到版本号了。。。 内容更新:在上面的博客中介绍到了使用命令行来加密图集,在使用的过程中我又发现了使用命令行新的有用的命令。。。上面的命令行可以实现对一个所有处在同一目录下的资源进行打包,但是不能进行递归打包,那么就有了接下来的命令选项。。。在上面的命令中 更改$1/*.png为:$1即将索引到图片改为索引到上级目录文件夹,这样的话就可以实现递归文件目录打包,但是有个问题,当要打包的所有图片过多或者过大而使一个图集装不下的情况时,需要进行动态递增打包,使用下面的命令更改原来的1 --data "$2".plist2 --sheet "$2".$6 为:1 --data "$2"_{n}.plist2 --sheet "$2"_{n}.$6 3 --multipack 上面脚本中的 _{n}是占位符,用来增加文件名用的, --multipack 是动态打包的选项。打包出来的效果是:bubuko.com,布布扣
推荐整理分享TexturePacker 如何使用自带的加密功能及在cocos2dx中的使用(textureformat),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:texture package,texture wrap,texture packer工具,texturepackergui,textureformat,texturepacker怎么用,texturepackergui,texturepacker怎么用,内容如对您有帮助,希望把文章链接给更多的朋友!
Cocos2D教程:使用SpriteBuilder和Cocos2D 3.x开发横版动作游戏——Part 1 本文是对教程HowToMakeASide-ScrollingBeatEmUpGameLikeScottPilgrimwithCocos2D–Part1的部分翻译,加上个人理解而成,最重要的是将文中所有代码转换为Cocos2D3.x版本。
cocos2d基础学习--多线程使用及线程同步 cocos2d-x多线程以及线程同步cocos2d-x引擎在内部实现了一个庞大的主循环,每帧之间更新界面,如果耗时的操作放到了主线程中,游戏的界面就会卡,这
Cocos2D教程:使用SpriteBuilder和Cocos2D 3.x开发横版动作游戏——Part 2 本文是使用Cocos2D3.x开发横版动作游戏系列教程的第二篇,同时也是最后一篇。是对HowToMakeASide-ScrollingBeatEmUpGameLikeScottPilgrimwithCocos2D–Part2的翻译,加上