準備裝置:
一台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入門,我開個有償培訓班,幫你們搞定!(呵呵呵,賺個外快)