三个星期从0开始 制作IOS游戏并提交上架

原文:http://www.cnblogs.com/zc22/archive/2012/12/05/2803103.html

准备设备:

一台macbook air。我香港买的,花了7k多。用起来绝对的爽。

苹果的开发者账号,当时我让爸传真汇款的,700多。挺好奇,美国竟然可以不问我信用卡密码直接划款了,如果随便搞那会怎样??

 

学习阶段:

无论你学习什么,选好一本书,从头看到尾,不要分散。

这句话可以让很多自学开发者脱离苦海。我接触过很多人,学习的时候东一点西一点,到处都觉得资料好,然后到处看,看了一个星期还没掌握什么,但是觉得看了很多书了。

这就是不系统的原因,所以,选一本好书,重头看到尾。之后再决定看其他的资料。这里介绍2本:

objective-c基础教程

[iOS5开发基础教程].(Beginning.iOS.5.Development.Exploring.the.iOS.SDK).David.Mark.Jack.Nutting.Jeff.LaMarche.文字版

无论网上有什么狗屁资料,都放一边,先把这2本书看完。我花了1.5个星期搞定。包括例子。

 

然后转入c++,这里我因为之前用了一个星期学习c++,教程是:

C++ Primer‰ˆ.pdf 第四版

这本书,我大概用了1.2个星期全部搞定,特别是stl这块比较重要,里面提到了一些指针安全问题。

 

然后我立刻转入了cocos2d-x,这个没有好书,因此最好的教材就是官网的:

 

http://cn.cocos2d-x.org/resource

http://www.raywenderlich.com/tutorials

http://www.himigame.com/category/iphone-cocos2d

要记得,把例子里面那个黑人射击的,自己敲一遍,就知道cocos2d-x怎么玩了,实在太他妈简单了。

 

之后不要急着做游戏,我要把objective-c怎么和c++结合进去的搞明白,因此生成了一个cocos2d-x的模板项目,去研究每一行代码什么意思。

这个过程非常重要,是让你的知识平稳落地的过程。

因为中途切入ios,学回来的知识如果不能和自己原来的理论体系结合,会很不踏实,很容易忘记,因此必须落地。我列举出相关的资料:

http://www.cnblogs.com/lsck/archive/2012/05/15/2501345.html

http://lizaochengwen.iteye.com/blog/1271788

http://blog.csdn.net/mengtnt/article/details/6709930

http://www.cnblogs.com/csj007523/archive/2012/08/22/2650701.html

http://www.cocoachina.com/bbs/read.php?tid=51107

http://o0o0o0o.iteye.com/blog/650275

http://stackoverflow.com/questions/492551/eagl-what-does-it-stand-for-exactly

http://blog.csdn.net/honghaier/article/details/7887873

http://www.lugw.net/?p=80005

上面几个连接回答了启动一个ios,经历哪几个步骤把cocos2d-x加载起来。过程如下:

整个流程小结:
main - appDelegate - appController - subViewController + EGALView - CCApplication.run
-
appdelegate.applicationDidFinishLauching - Helloworldscene

 

掌握了基本工具之后,我们需要学习第三方提供的工具,例如cocosbuilder, tilemap。这2个非常重要,特别有个例子:

http://www.cppblog.com/besterChen/archive/2011/01/20/138965.html 这个非常重要,是利用tilemap制作关卡的。必须手作一次。

http://ibezstudio.blog.163.com/blog/static/18924613020115234715208/

http://blog.csdn.net/bill_man/article/details/7981427  这篇入门了cocosbuilder

 

 

到了这里,我们会发现遇到了个瓶颈,就是好像知道很多,但是用起来什么都不知道怎么操作,API部署,方法部署,编译一堆错误,运行一堆崩溃。这个时候让我再给你指明一条路:

充分利用框架自带的例子

这句话真的是圣经,可以节省你90%的查找工作。当你下载了cocos2d-x之后,在:

cocos2d-2.0-x-2.0.4/samples/TestCpp/proj.ios下面有个xcode的项目,运行起来,你会发现所有答案都在这里,包括了cocosbuidler、http连接等。

到了这里,我相信各位已经完全入门了ios开发了,属于思想走到哪,就能实现到哪阶段。

 

开发封装重构

基础工具都有了,接下来每位编程熟手必做的事情,就是对框架进行二次封装。cocosbuilder首先就是个麻烦,用起来超级不方便,因此我进行二次分装,把自定义类、自定义事件、自定义属性、界面嵌套等全部都封装好了,简单调用就完成开发。

这个很重要,游戏开发中经常会出现联调,如果过程不顺利,很浪费时间。

 

接下来是对cocos2d-x的精灵进行二次封装,有很多的Animation等操作原API非常不方便,我封装过后,一行调用就完成了图缓存、切割、获取、生成动画等。能够同屏几百sprite了。

最后就是开发中会遇到的比如http问题、md5问题、字符串问题、操控杆sneakyInput、手机获取mac地址问题等。搜下资料吧。虽然我都已经解决了。

 

开发游戏流程

首先利用cocosbuilder制作界面

然后制作第一关简单的关卡,能够实现界面切换、碰撞、移动等。基本上只是用了之前的知识。去66rpg下载些素材,非常棒。

等技术稳定了之后,铺开制作关卡,重构架构。结合tilemap实现关卡地图等操作。

 

 

真机调试

这步骤比较稀里糊涂,我推荐几个链接,多试几次就ok了。

http://blog.sina.com.cn/s/blog_68e753f70100r3w5.html

http://kqwd.blog.163.com/blog/static/4122344820117191351263/

http://mobile.51cto.com/iphone-276988.htm

注意,不要用破解的方法,后患无穷。要用就用正版的流程。用iphone连接上去就OK了。这时候会发现一个问题,用cocosbuilder做出来的界面是480*320的,但是手机是retina屏,放上去剩下一半大小了。

网上一堆的狗屁不通文章,搞来搞去,最后让我找到解决方法:

http://blog.csdn.net/xiaoxiangp/article/details/8079744

CCEGLView::sharedOpenGLView()->setDesignResolutionSize(800, 480,kResolutionShowAll);

就他妈一行代码ok了。

 

发布应用

这部分也是最头疼的,一堆的error。主要是注册的bundleID问题,还有证书问题。

http://blog.sina.com.cn/s/blog_68e753f70100r3w5.html

http://kqwd.blog.163.com/blog/static/4122344820117191351263/

http://mobile.51cto.com/iphone-276988.htm

http://www.cocoachina.com/bbs/read.php?tid-2776.html

http://www.cocoachina.com/bbs/read.php?tid=14781

http://blog.csdn.net/li6185377/article/details/7534831

这几个教程比较好,不过看起来还是混乱,我简单说下流程:

去ituneconnect添加一个应用,图片啥的都准备好,注意bundle id一定要写好,比如我是 com.pixysoft.P001。这个迟点xcode需要。

然后xcode选择archive进行编译,会在organizer见到打包的项目,这里面注意项目的plist的bundle id一定要写好,和网站的对应。

然后选择个distribute...,在organizer的archive里面。就会提示输入用户名密码、上传的项目等。过了个10分钟,就告诉你提交成功等待审核了。

里面会遇到一些问题,比如编译的时候最多说证书没有或者过期,别担心,给了钱一定有服务;我去apple的开发者,把develop, distirbution2个license都生成了,然后双击,就加入了xcode。这样就可以打包了。

有时候会提到bundle id问题,注意2者对应。

 

后续

我从0开始学习objective-c, c++, cocos2d, cocos2d-x用了3个星期不到。原因是我有一个好团队!而不是我个人努力。我作为团队团长,对知识点做好了分工,每个人负责一部分,每天碰头交流,所以学习速度非常快。

开发游戏我从11月20多号开始,不到2个星期就全部开发完了,主要是没有走弯路。网上一个cocos2d-x例子(射击)+tilemap例子(荒野镖客)细细做2次之后,自己就会有自己的想法了。

最后申请上架,因为去年我明智地交了99USD,所以不用12小时,就成功提交了应用等待审核。

如果有兴趣的哥们,可以加入群相互聊下。如果也想3个星期搞定ios入门,我开个有偿培训班,帮你们搞定!(呵呵呵,赚个外快)


  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值