ACCESS(转载)如何学好iphone游戏开发

 

转自:http://www.cnblogs.com/zilongshanren/archive/2011/09/19/2181558.html

 

从发布《如何学习iphone游戏开发》暨
现在,大概有一半年日了。其实当写《如何学习iphone游戏开发》的早晚,我不怕描写下豪言,说啊天效法好了,再来写一首《如何学好iphone游戏开发》。
但是本,当我为下来写就首文章的下,心里还是发接触乱的,怕写不好,或者水平不够,写出来的物上不交预期的意义。但是,管他啊,我手写自己人,我
把自己这半年来之修经验与体验体会,以后好写博客的阅历做了有的总,希望会为后者带来帮助。同时,我还见面以篇章的末尾,为初学iphone游戏开
发的人头指明一些倾向,为都入室的冤家提供一个复好之研讨与交流平台。

   
首先,基础十分要紧。像c/c++,特别是指针和内存管理有些,如果知道得不足够深刻,那么学习起来会要命为难。不过,你也许会见问,“搞iphone游戏开发不
是故之objective-c么?“。没错,目前就此底极其多之应该是objective-c,当然就此Unity的除了(里面所以之c#和js)。但是,其实
objc就是于c的功底之上封装了同等层面向对象的风味,同时将咱平常熟知的后缀表达式改成为受缀表达试了(也便是语法出入)。而且,但凡学习了c/c++
的总人口且了解,内存管理是好不便的,而且bug基本上都是出当内存上面。所以,导致群人无喜欢c和c++,转而扔掉c#和java的抱了。我在此处,不
想再谈谈哪种语言好了,这种话题讨论最为多矣,再讨论下啊无意思。每种语言都有它的优势与绝技,有那应用的世界,有支持她的商家要团队,有保障它的
fans。我们程序员要举行的饶是,针对问题领域的特性,选择当的编程环境(包括语言、工具、SDK等)。

  那么objc要无设召开内存管理吗?目前来说,是要是的。但是,在mac上面,objc
2.0引入了废品回收机制,而且新本子的sdk
ios5,引入了ARC(自动引用计数功能),或许在明天,利用ojbc开发iphone上面的利用和玩耍吗不需要手动再管理内存了。不过这种自发性管理机
制肯定会带动运行效率的题目,这跟全部的gc机制一样。所以,我们姑且观望一下,到底ios5
的ARC机制表现如何吧。

   
c/c++的根底好之言语,学习objc会非常急匆匆,至少自己是消费了2到时纵拿objc学习完了。但是,如果一旦把objc的内存管理,也便是援计数掌握的
话,那或要时的。这里推荐大家看片写及blogs。假如你的c/c++基础不是大好之言辞,建立你当上objc之前先行上一点c及c++相关的知
识。《c语言和指针》、《the c programming language》、《c++
primer》、《the c++ programming language》《Thinking in
c++》《c++程序原理同实施》,《effective c++》,《more effective
c++》、《inside c++ object
model》等等。你上网搜一下,推荐c++的修尽多了,我这边只是列举了一致有些较经典的,当然,如果你管这些开都看了了。根据这些书后面的
Reference还足以将其余的优秀c和c++书籍找出来。我看开还是这般的,看了一仍好写,然后按照这按照开之参考文献去划一依一依地圈其实的书,然后看
完其他一样按,又失去看那个参考文献。这样不仅壮大了协调之知识面,而且会把所模拟知识的源流。理解地进一步浓,你勾勒成程序来就是会愈得心顺手。当然,这里有就
么多写,对了那些天天要加班的次第猿来说,真是伤不起啊。但是,这些事物自然要如填补之,如果您还于念大学,那么尤其要珍惜这上头了。以后工作了,想静下
心来学习真不是那爱。虽然我呢还当学校,但是,看看加班的杆们随时在巨响”天天加班有麻痹有!“,想想抓IT的尚确实是伤不起啊!

   
但是,编程这戏意儿是逐步积攒起的。就算你看罢了这些开,不失执行,也是没什么好怪从而之。编程能力实际跟你再度的次数为发生必然的涉及,如果单会纸上说话
兵,也遗落得会修出好之次第来。好了,说了这样多,转而来谈objc吧。如果您当c/c++基础尚不易,推荐你几乎按部就班科学的objc书籍。
《Programming in Objective-C 2.0》、《Learning Objective-C
2.0》、《objective-c基础教程》,还有即使是apple的一对技术手册啦(对了,顺便取一下,大家千万不要留言发问我要是电子书。你只待打开
google,然后输入英文书籍名+pdf,就ok了!)。学习objc一定非克偷懒,一定要是管援计数来治本内存的方法掌握,因为,后面不管是举行使还
是召开打,80%底问题,你还见面卡在内存管理方面。各种crash有木有!各种EXC_BAD_ACCESS有木有!各种莫名其妙的主次挂掉起木有!(大
家一定要抓清楚Autorelease Pool, Autorelease Pool Stack,Main
Loop,Owner
ship,这些概念特别主要,如果您本尚非是殊明亮的语句,多看apple
的objective-c memory programming guide。)

 
 然后,等您objc基础打好了(我实际是先开片iphone的采取来练手的,因为背后做游戏,很多事物或要用到UIKit和Cocoa
Foundation框架),xcode也摸熟悉了(能够左右用xcode设置断点调试,能够以Zombie解决内存问题,能够使
instruments来检测内存泄露及内存分配情况,以及cpu使用率情况,能够新建target,搞得到底4.0的schema等),这时候,你又去学
习iphone游戏开发会善有。至少你于开发环境以及开发工具是熟悉了,遇到问题,自己呢能够缓解,而无是均等上到晚去网上咨询或者到群里咆哮了。其实
很多早晚,自己解决一个题材,比问别人好地得到答案获要多得几近。如果实在是温馨充分勿熟识,搞了长远都并未解决之问题,这时候若再将出来。自己呢会见
把题目讲述地又懂有,而且和别人的座谈中,有时候也能诱发思路,豁然开朗。有些人喜好说提问没人回复,其实有为数不少因,一凡是你讲述问题不掌握,二凡别
人也非掌握答案,三或者是若从就是从来不找到问题。所以,希望大家遇到题目,尽量协调想办法缓解,这样绝对是生百益而无一害的。(关于工具的运,我之博客
上起几乎首Ray写的objective-c的课,大家可以望,在objective-c分类中)(做使的话,还好放一听斯坦福大学之
iphone开发视频,现在网易公开课里发生,大家好关注下)

   
接下去,你是休是足以即时上iphone游戏开发了也?先别急,还有一部分知识而得上一下—-那就是编码规范及设计模式。编码规范大关键,每个
平台都生好的编码风格和正式,如果您守这些专业的话,你写的代码能够好吃别人阅读与修改,而而看别人的代码也会以为感觉亲切,因为,它们增长相生通
近。这里我非详细座谈编码规范了,因为google已经写好了,objective-c编码规范、Apple’s
Cocoa Coding
Guidelines、c++编码规范。
为什么以是c++?因为背后学习玩乐物理引擎,会因此到box2d,到时候是objc和c++混合编程,有些东西用小心一下。然后,我们谈话一下设计模式。
对于刚刚开头接触iphone开发之人数吧,最好是事先修半只月左右底下开发,这对准而之后的玩开发出裨益。相信做过iphone应用的口都晓得MVC,
在apple的社会风气中间,这个模式被普遍地行使,甚至每一个角都是MVC。其实,MVC不仅仅是一样种植模式,一种集体代码的方式,更是一致栽软件设计的思
想。后面我会朝大家推荐cocos2d,它是一个开源之2d玩引擎。因为自身引起擎级别的顺序还饱含了累累软件设计和代码组织的技术在其间,所以,如果自己
们对设计模式有一部分叩问的话,接来阅读cocos2d之源代码将会时有发生保有特别之佑助。对于设计模式,我推荐两本书,一依照是GOF的《设计模式,可复用面向对象
软件的底子》,还有一样比照是《cocoa
设计模式》。当然,如果是新认识设计模式的语,最好是优先押《Head first
设计模式》和《大话设计模式》。(读到这里,有童鞋可能会见纳闷了,你一个学生怎么知道这样多?别忘了,我们出google。如果现在还免晓得怎么充分利用
网络资源的童鞋,请看自己写的《如何寻找资料–我的片感受和认知》吧!)

   
现在,(叹一口气吧)让咱来谈谈怎么上cocos2d吧!cocos2d不仅仅是一个游玩图形引擎,它其中还合并了动静引擎以及大体引擎,而且产生外向的
社区及长的材料。最要之是,它是开源的,免费的。cocos2d怎么读啊?之前,大家一般是援引看明白易写的多元教程,我也是这般干的。所以,我在
《如何学习iphone游戏开发》里面也是如此建议大家的。知易的课程是固定之藏,虽然所利用的api比较原始,所示范的事例吗比较陈旧,造成众多初家
在尽的历程遭到,各种函数找不至,各种困惑。所以,我觉着,还是从Ray的课入手会相对来说容易有。Ray写的还是英文的,不过,我早就将他的大部
教程翻译成汉语了。

   现在,我想重新整理一下学学cocos2d iphone游戏开发之经过。

 
 从(译)如何下cocos2d来开一个大概的iphone游戏教程(第一局部)及时篇稿子开始,顺藤摸瓜,把这个系列之学科3只有都扣留罢。然后找到cocos2d-iphone下载的次第中的一个测试例子TomTheTurret,它置身CocoDension/TestAndDemos目录下面。这个事例是Ray对之系列教程的完美。

 
接下,我觉着可以看知易写的例证了,把坦克大战的戏学会。知易的博客地址是:

  1. 知易Cocos2D-iPhone
    游戏开发教程001 (341)
  2. 知易Cocos2D-iPhone
    游戏开发教程002 (94)
  3. 知易Cocos2D-iPhone
    游戏开发教程003 (71)
  4. 知易Cocos2D-iPhone
    游戏开发教程004 (73)
  5. 知易Cocos2D-iPhone
    游戏开发教程005 (65)
  6. 知易Cocos2D-iPhone
    游戏开发教程006 (66)
  7. 知易Cocos2D-iPhone
    游戏开发教程007 (102)

 
大家记住,如果你使用的是风靡版本的cocos2d,那么知易的学科里面可能过多类名和函数叫都转了,大家不用惧怕,其实仅仅是片颇粗之更动。比如
CCColorLayer改成为CCLayerColor,把CCXXXXTransition改成为CCTransitionXXXX,把
CCXXXXAction改化CCActionXXX,同时把CCSpriteSheet改成为了CCSpriteBatchNode等,像这么有移。
其实仅仅是有的微薄的重构,方便大家再也好地使cocos2d引擎。这里,我顺便取一下,有许多人口形容代码的时节,对于有变量名和类名的命名很无在心上。
想怎么命名就怎么打,特别是发现于命名不好下,还舍不得改。因为,代码引用原来不好的类名太多矣,一一改过来好辛苦。但是,其实Xcode是提供
refactor功能的。

    接下去,大家好省

 
  (译)如何以cocos2d内用动画片与spritesheet

     (译)cocos2d灵活教程:第一有的
     (译)cocos2d菜系教程:第一有
     (译)如何运用cocos2d制作基于tile地图的嬉戏教程:第一片段

   
这里描绘第一有些,说明是独密密麻麻教程,大家可顺着教程最后的领航一路拘留千古。相信学习了这些东西后,你于sprite,menu,layer,scene,spritesheet,spriteBatchNode,tiledMap应该发一部分认识跟掌握了。

   
然后,大家可以连续以自我之博客上面学习,还有很多外的科目。建立大家打初级游戏教程看打,然后再次是面临高等的,然后重新看打物理分类的课。

 
 同时,这时候,大家应去看片题了。这里推荐2本书,之前为援引过的《Learn
iPhone and iPad Cocos2D Game Development》和《Leaning Cocos2d》。

 
 如果大家将自之博客上面的翻译课程都扣留罢了,同时,上面提到的简单本书也扣罢了之语。当然,重要之是懂了,还要下手实践!!!不要为多少而乱来,欲速
则非达!接下去,最好是用一些档来练练手。如果是为商家做事的总人口,那最好好了,直接用企业的门类即使可以练手。如果是私有学习,建议于已有的洋洋洒洒教程入手,
因为过剩图纸以及音响素材就起了,你得于这个基础及,再扩充,实现还多还cool的力量。如果您肯跟我分享而的名堂的语,我可将您的战果写成教程,这
样就会见发出更多之口能够从中获益啦。

    那么连下去,何去何从为?我当出以下2长达总长可供应选择:

 
 1.继续深入上cocos2d框架,认真研读cocos2d源代码,体会作者的代码设计及贯彻思路。然后上opengles,尝试自己壮大
cocos2d框架,在cocos2d的基础及定制出适合自己号之框架下。学习opengles,我吧引进几本书《Learning
iOS Game
Programming》,《Oreilly.iPhone.3D.Programming.May.2010》,《OpenGL ES
2.0 Programming Guide》    。

 
 2.品尝一下cocos2d-x。这是由于国人主导的一个开源项目,采用c++,能够跨ios,android,乐phone,win32,linux等
多单阳台。同时,目前cocos2d-x还提供了lua接口绑定。为什么要选取cocos2d-x?现在ios上面竞争剧烈,如果您的游乐会以多单阳台上
运行,相信吸金来源多只几乎会产生利益吧?

 
 当然,如果大家想当玩乐开发以及上这条路上走得更远的言语,建议中肯学数学及大体、计算机图形学、人工智能、数据结构与算法等。我看了一个牛人的博客,说开打,最后便单剩余数学和情理了。而己要好以支付之过程中,也深感数学好的要。

   
(好增长什么,快点结束吧!)今后请大家必要关爱Ray的博客,关注http://www.learn-cocos2d.com/其一网站,此网站的撰稿人在打造一个初的游艺开发包Kobold2D。
他管目前和cocos2d连锁的资源满结缘进kobold2d里去了,现在还于preview阶段,相信发布后会于开发人员带来多好。顺便取一
下,此作者的网站中有非常多的资源,上面导航链接里产生,右边链接里吧发生,大家连忙去扫描吧!当然,其实还有一个可怜要紧的求学地方,那就是是cocos2d官
网:http://www.cocos2d-iphone.org,还有论坛,不要坐凡E文的即使不失去了,看E文才是王道!还有,我差点忘了,一定要是学会用git!

   
还有,为了避免版权问题,Ray有说了光同意他人翻译他形容的5篇科目,虽然自己写了免责声明,但是,还是来顾虑。所以,以后我会对Ray的科目会召开有“微
创新“,用cocos2d-x重新实现平等周。因为本cocos2d-x底素材实在是极端少了。这样,如果大家想看objc版的,直接上Ray的网站及看就
可以了,想看c++版的,就看自己的吧。

     
最后,几独对象商量了转,专门成立了一个论坛:泰然教程,以这个吧起点,为大家提供一个双重好之修交流平台。下面是论坛创始人的宣示:

ACCESS 1

  泰然论坛团队由一群有共同目标的iOS开发爱好者组成。我们发现国内的技术论坛都或多或少的缺少一些资源,尤其在做一些3D项目的和游戏的时候,尤其OpenGL ES的资源很是稀缺,所以萌生了一个念头:在泰然工作室手上的几个项目完成后,成立一个自己的论坛,为和我们有共同理想的开发者提供平台。今年9月,最后一个项目完成后,我们决定实现这个诺言。

  论坛建立之初,我们定的方向主要是OpenGL ES,因为我们的项目经验,可以写一些相关的教程,让大家起步不像我们当年那样艰难。后来,我们把这个想法告诉了子龙山人,发现大家想法都很一致,经过一段时间的相互了解后,我们决定联手创造出一个全新的泰然论坛。

  今后,利用之前项目中积累的经验以及测试设备,泰然论坛会给大家带来OpenGL ES教程,CocosD-iPnone和Cocos2D-x教程(后期还会不断扩展);不同于以前博客的是,我们会大力发展原创教程,也包括跨平台的Cocos2D-x教程。

  首先,我们强调泰然论坛将是一个免费的开放性论坛,我们不会采取商业运作。

  其次,论坛会有一些广告位,我们计划将广告位开放给大家,如果大家有新的app,以后可以联系我们,我们会免费为你的app安排泰然论坛的广告,以帮助大家度过app最初的艰难过程。

  最后,如果大家有好的建议或者意见,请告诉我们,这将让我们共同成长。联系邮箱:iven@ityran.com

ACCESS 2

相关文章