(译)如何升级你的cocos2d版本

原文链接地址:http://jamornh.posterous.com/upgrading-your-cocos2d-version-from-a-lower-v

  前言:最近有朋友问我0.99.0怎么支持Retina Display,可能大家会说,把提供一套-hd后缀的图片,然后在appDelegate里面调用[director enableRetinaDisplay:YES] 就可以了。不过很抱歉,上述方法在0.99.5及其以后的版本里面才有。所以没有办法这样子做。后来我又上网查了一下,提供@2x后缀的图片,但是显示出来的比例不对。我又查了一下,说把openglView setContentScale为2.0,但是,还是不行。看了0.99.5版本里面的实现,我又照样自己写了一个enableRetinaDisplay方法,结果还是失败。如果哪位朋友知道如何解决这个问题,请在下方留言。万分感谢!

  最后,我给那位朋友的建议是:升级cocos2d版本。不过这个说起来容易,操作起来错误n多。我去论坛里逛了圈,发现有一篇文章和一个贴子讲这个的。觉得可能对大家有所帮助,于是本教程应运而生了:)

  正文:

  如果你是一个iphone游戏开发者的话,那么你肯定听说过一个2d游戏框架,没错,它就是cocos2d!你可以用它来开发ios和mac上面的游戏。我自己也是用这个引擎来做项目的,但是,由于开源项目一般更新比较快,慢慢的,版本更新问题就出现了。

  每一次,当一个新的cocos2d版本出来的时候,我发现要更新库都非常麻烦。我想,其他人肯定也遇到过类似的问题,我想把我的经历分享出来,希望对大家有所帮助。(我更新的版本是0.99.5~1.0.0-rc3,这是目前的最新版)。

  这里的内容其实并不是原创的,我是从cocos2d论坛里面的讨论整理出来的,你可以直接去论坛查看原帖。这里我想感谢“Karl”,是他提供了很多有用的信息。

  上面那个帖子全是讨论,可能看起来不是很清楚明了,所以我把它们整理成一个系统的解决方案。

  首先,我发现有两种方式可以解决更新版本的问题。

  第一种就是,下载cocos2d的最新版,然后运行  "install-templates.sh" 脚本,然后创建一个新的cocos2d工程,然后把旧的项目里面的Classes全部拷贝到新建的工程里面,然后修改一下AppDelegate和Info.plist文件。(可能还会有其它一些小错误,可以google解决一下)

  这种方法确实可行,然后,如果你的项目用了源码管理工具(比如git或者svn的话),那么上面那个方法就不行。你很难把新建的这个工程合并到旧的工程上面去。

  第二种方法可以解决上述方法的不足。你直接在已有的工程上面做修改,然后更新一下仓库,commit加update就ok了。

  为了更好的解释这个过程,我做了一些截图:

1. 找到你的工程文件夹,点开lib文件夹,然后把里面的内容全部删除。如下所示:

2.找到新下载的cocos2d文件夹,然后选择   cocos2d, CocosDenshion, cocoslive, FontLabel, and TouchJSON,并复制出来。如果你使用了box2d或者chipmunk的话,那么就多复制一个相应的box2d或者chipmunk文件夹。然后把这些复制的文件夹粘贴到旧的工程的lib文件夹下面。(就是你刚刚删除一堆文件的那个文件夹下面)

3. 打开CocosDenshion文件夹,然后删除 TestsAndDemos。因为这里面的东西,等下编译的时候会报错,所以我们要把它删除。(如果上一步中,大家拷贝了box2d的话,注意不是和FontLabel平级目录的box2d,而是box2d里面的box2d。打开看看就知道了:),里面还有testbed的代码,那个不要。)

4. 回到Xcode,选择libs下面的group,然后删除,记得只删除引用,如下所示:

5. 一旦引用删除之后,就可以把新粘贴到libs文件夹下面的新版本库添加进来了。如下所示:

6.当xCode提示你如何添加时,你应该下图所示那样,记得复选cocos2d libraries。 (我从1.0.0-rc0升级到1.0.0rc3没有cocos2d libraries这个target,所以没有关系)

  确保选择“ cocos2d libraries" ,并且把你的工程的target不要选中。同时,你要取消 "Copy items into destination group's folder (if needed)",因为有时候xcode4会出现一些bug。

  就这么多!这时候,编译并运行代码,你成功升级到新版本的cocos2d了!你现在可以使用”git add .“了,然后commit,push,哈哈,爽吧!

  如果大家实践的过程中遇到什么问题,请在下面留言,谢谢!

译者的话:这里只是给出了0.99.5到最新版的更新方法,0.99.5之前的可能差异比较大,我也没试过,希望各位网友有试过成功的,在下面留个言,帮助后来的人少走些弯路。更新版本这件事比较冒险,建议快要上架的朋友不要轻易尝试,出了问题我不负责哈!:)还有,实践之前,最好copy一份出来,免得出了问题,还原不了了。

 

著作权声明:本文由http://www.cnblogs.com/andyque翻译,欢迎转载分享。请尊重作者劳动,转载时保留该声明和作者博客链接,谢谢!

posted on 2011-07-08 22:21  子龙山人  阅读(5500)  评论(3编辑  收藏  举报