Cocos2D iOS之旅:如何写一个敲地鼠游戏(四):创建TexturePacker自动脚本

时间:2021-09-30 14:31:21

大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处.

如果觉得写的不好请告诉我,如果觉得不错请多多支持点赞.谢谢! hopy ;)


免责申明:本博客提供的所有翻译文章原稿均来自互联网,仅供学习交流之用,请勿进行商业用途。同时,转载时不要移除本申明。如产生任何纠纷,均与本博客所有人、发表该翻译稿之人无任何关系。谢谢合作!

开始吧

打开Xcode,选择新建项目,选择cocos2D模板.命名新项目为WhackAMole,点击保存.

接下来将你下载的Art文件夹拷贝到WhackAMole项目的目录中去,成为Classes目录的同级目录,如下所示:

Cocos2D iOS之旅:如何写一个敲地鼠游戏(四):创建TexturePacker自动脚本

下一步,确认TexturePacker已经安装在你的机器上.如果你还不知道如何使用它,可以点击 this tutorial 学习.

你将安装TexturePacker去建立精灵表.你用TexturePacker的命令行工具做这些事.所以你不需要使用任何TexturePacker的GUI界面!

右击Resources,选择添加新文件,选择Mac OS X\Other\Shell Script,然后点击next,命名脚本为PackTextures.sh,点击结束.

将该脚本替换为如下内容:

#!/bin/sh

TP="/usr/local/bin/TexturePacker"

if [ "${ACTION}" = "clean" ]
then
    echo "cleaning..."

    rm resources/background*
    rm resources/foreground*
    rm resources/sprites*

else
    echo "building..."

    ${TP} --smart-update \
          --format cocos2d \
          --data resources/background-hd.plist \
          --sheet resources/background-hd.pvr.ccz \
          --dither-fs \
          --opt RGB565 \
          Art/background/*.png

    ${TP} --smart-update \
          --format cocos2d \
          --data resources/background.plist \
          --sheet resources/background.pvr.ccz \
          --dither-fs \
          --scale 0.5 \
          --opt RGB565 \
          Art/background/*.png

    ${TP} --smart-update \
          --format cocos2d \
          --data resources/foreground-hd.plist \
          --sheet resources/foreground-hd.pvr.ccz \
          --dither-fs-alpha \
          --opt RGBA4444 \
          Art/foreground/*.png

    ${TP} --smart-update \
          --format cocos2d \
          --data resources/foreground.plist \
          --sheet resources/foreground.pvr.ccz \
          --dither-fs-alpha \
          --scale 0.5 \
          --opt RGBA4444 \
          Art/foreground/*.png

    ${TP} --smart-update \
          --format cocos2d \
          --data resources/sprites-hd.plist \
          --sheet resources/sprites-hd.pvr.ccz \
          --dither-fs-alpha \
          --opt RGBA4444 \
          Art/sprites/*.png

    ${TP} --smart-update \
          --format cocos2d \
          --data resources/sprites.plist \
          --sheet resources/sprites.pvr.ccz \
          --dither-fs-alpha \
          --scale 0.5 \
          --opt RGBA4444 \
          Art/sprites/*.png

fi
exit 0

该脚本运行TexturePacker为背景图片,前景图片以及精灵图片去建立精灵表 —每一张都会自动生成高清和普清2张图片.

注意每张图片被存储为pvr.ccz格式,因为这种格式对于节省内存和磁盘空间来说都最有效率.而且每张图片的像素格式和抖动选项被设置为一个很好的品质和内存使用的权衡值.

如果你不确定那些TexturePacker选项是干嘛地,在终端中运行TexturePacker -help将会得到每个选项的说明.

接下来,你需要在你的项目中在编译时运行该脚本.右击Targets,选择Add\New Target,选择External Target(不是Shell Script的目标!),然后点击下一步,命名Target为TexturePacker,然后点击结束.

然后双击你的TexturePacker目标然后按下图设置:

Cocos2D iOS之旅:如何写一个敲地鼠游戏(四):创建TexturePacker自动脚本

最后一步是将目标设置为依赖你的app.双击你的TexturePacker目标,进入General标签,在Direct Dependencies中点击+按钮,在列表中选择Texture Packer,然后点击添加目标:

Cocos2D iOS之旅:如何写一个敲地鼠游戏(四):创建TexturePacker自动脚本

编译你的app,你应该看到如下输出,表示一切工作都正常:

Cocos2D iOS之旅:如何写一个敲地鼠游戏(四):创建TexturePacker自动脚本

接下来,将最新生成的精灵表和属性文件添加到你的项目中去.右击Resources选择Add\Existing Files…,然后从Resources中选择背景,前景和精灵文件(一共12个)并且点击添加,然后再次添加.当你完成时你的Groups&Files树应该看起来像下图一样:

Cocos2D iOS之旅:如何写一个敲地鼠游戏(四):创建TexturePacker自动脚本

如果你愿意, 你可以双击任何.pvr.ccz文件在内部预览,这是TexturePacker的新(也是方便的)特性.