cocos2d-x遊戲開發 跑酷(九) 源碼下載及小結

來源:互聯網
上載者:User

這個東西零零碎碎寫了一個礼拜吧。其實也沒多少東西在裡面。文章後附

部落格地址:http://blog.csdn.net/dawn_moon

因為我沒用過chipmunk,而且它是面向過程的東西,情感上又不太願意去研究,所以我用box2d來做了物理模擬。個人感覺box2d還是蠻好用的,它的作者很牛逼的哦。暴雪娛樂的首席軟體工程師,box2d是他業餘寫的。國外的攻城獅都這麼牛逼麼。

我感覺My Code組織的還算比較清楚的。複雜點的地方,我都寫了一些簡要的注釋。其實我不認為一行代碼一行注釋是一個好的風格。因為我覺得,如果你的代碼需要大量的注釋別人才看的懂的話,只有兩種可能,一是你實在太牛逼,已經是非常人,一般人理解不了你的思想,所以要每行都加註釋;另一種可能就是代碼實在太爛,不多加點注釋自己都看不懂。我傾向於,如果要建立一個類,看名字就大概知道這個類是用來幹嘛的,如果要寫一個函數,看名字也應該能知道用來幹嘛的。關於這方面,其實C++先天就不足,這是語言設計的問題,相比Objective-C,簡直弱爆了。有興趣的可以去看下O-C。但是我還是盡量讓代碼看起來言簡意賅,看名知意,只能是盡量而已。

我十分討厭在代碼裡看到突然冒出來的數字。你在看一個變數定義,結果它是由一個數字跟另一個變數運算來取值的,這時候是不是有點莫名其妙,這數字哪兒來的?為什麼要有一個這樣的數字在這裡。這時候如果有點注釋,就好了,不然挺鬱悶的。

在跑酷裡面的ObjectManager類裡面,添加金幣的地方有一個定義

float startX = coinOriginX - coinWidth / 2 * 11;

呵呵,後面那個11,說實話我真不知道是怎麼來的。如果是金幣間隙的個數,那麼應該是6,如果是一串金幣的長度,那麼應該是18。所以這裡比較迷惑。

我在給精靈設定tag的時候也不會莫名其妙的直接用setTag(1)這種方式,因為你要設tag,那麼一定是要用這個tag,在你用的時候你或許會getChildByTag(1),那麼請問如果你看到這個取tag的函數,你知道它取的是個什麼東西嗎。My Code裡面設定tag都會給這個tag取個名字,用個枚舉來列出所有要設定的tag,在用的時候你就知道這個tag取出來的是個什麼東西了。


My Code已經上傳到資源了,只要一個積分哦。

一個比較好的調試方式是,你先下載泰然的JS版工程,他那個連引擎都打包了,我是在那個工程下做的二次開發。你只需要把My Code下載解壓,替換到Classes目錄下即可。


這段代碼我會收錄到我的新書裡面,到時候歡迎大家購買指正。

如果你沒有積分,可以在本篇文章下留下你的郵箱,我定期來檢查發送給你。


代碼:http://download.csdn.net/detail/fylz1125/7124919

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.