三個星期從0開始 製作IOS遊戲並提交上架

來源:互聯網
上載者:User

準備裝置:

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

 

 

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.