cocos2d-x for wp之TexturePackerGUI工具使用

在很多情况下,我们在cocos2d-x 加载精灵都是一张一个精灵的加载。这种方法对于较少的精灵存在的游戏是比较方便的。但是一旦精灵很多,我们就没必要一个个加载了。

在cocos2d有一种将很多图片保存成为一张大图片,然后独取出来单独使用,这个方法就是plist的图片帧文件,它能极大的减小图片体积,最重要的是大图就能符合2的N次幂宽高的要求了。

先看看没有使用plist文件时的文件大小:(6M多,恐怖!)

TexturePackerGUI是专门制作cocos2d plist文件的软件,这个软件最好的优势是有Windows版本的。下面是简单的使用方法:

打开TexturePackerGUI,将前面的开始界面素材拖入到窗口的右侧栏中。

建议将DataFormat改成cocos2d-0.99.4,然后点击Publish按钮,保存为game.plist,浏览位置就会发现多出一个game.png(你保存在哪里,图片就在那里生成加载),它们之间是对应的。将其添加到Content工程里,然后做如下两个修改:

1、修改一下game.png的Content Processor内Textrue Format属性为DxtCompressed。(注意图片的位置,一般都要和plist文件分开存放,不然会有同名错误)

2、修改game.plist的输入和输出管线,因为plist需要cocos2dxna的独特的内容管线,所以先添加引用:

然后选择game.plist属性,将输入和输出的管线修改:

下一步就是如何在代码中使用plist文件:

View Code
 public PlistClass()
        {
            //base.init();
            CCSpriteFrameCache.sharedSpriteFrameCache().addSpriteFramesWithFile
                ("game", "plist/images/game");
            CCSprite background = CCSprite.spriteWithSpriteFrameName("GameMenuImg.png");
            background.position = new CCPoint(400, 240);
            addChild(background, 0);

            CCSize s = CCDirector.sharedDirector().getWinSize();
            CCMenuItemSprite sMenu = CCMenuItemSprite.itemFromNormalSprite
                (CCSprite.spriteWithSpriteFrameName("Start.png"),
                CCSprite.spriteWithSpriteFrameName("Start.png"), this, sss);
            CCMenu menus = CCMenu.menuWithItems(sMenu);
            menus.alignItemsVerticallyWithPadding(20);
            addChild(menus);
}

这段代码中使用CCSpriteFrameCache载入了plist文件和png文件,用它们来提前所需要的图片帧,之后在程序中使用,CCSpriteFrameCache是一个仓库,使用文件名来标识所有的内容资源,CCSprite.spriteWithSpriteFrameName能够直接依据文件名从中取出使用。

但是,效果嘛。。。

看到上图的红色没,用TexturePackerGUI工具publish之后居然颜色改变了。后来上网查了才知道,这是因为没有license造成的。如果购买的话,需要264.72块(这还是作者发回邮件给我时提到的一个错误!失败啊!!!)我想,很多中国人应该都不会自己掏腰包买。如果是公司就另算了。不过有个好消息是,该软件的作者有提供免费的license给我们,但是要自己申请。

同时,这是我本人经验强力推荐,与其去百度一个TexturePackerGUI工具,还不如直接去官网下载,不需要什么破解版,你也可以去找作者申请license!

我去到TexturePackerGUI的官网找了一下,地址如下

http://www.codeandweb.com/texturepacker/support,浏览到网页中间部分,

有个“Free version” 里面有

“Where can I get the free license?Just fill out the Request Free License form.

I'll have a look at your blog and if it fits the requirements you'll receive an email with the license keys.”

填写自己的资料然后就看人品了。

很高兴,我今天终于收到了作者给我的回执,非常感谢你,Andreas Löw。我会好好利用它的!

posted @ 2013-04-03 23:33  Dieaz5  阅读(1849)  评论(0编辑  收藏  举报