2010-06-17 75 views
2

http://itunes.apple.com/us/app/angry-birds/id343200656?mt=8&ign-mpt=uo%3D6一個怎樣使用cocos2d的創建這樣的比賽

所以我開始使用iPhone上的所有這一切的遊戲開發者的事情,我決定,我將開始與Cocos2D中扮演我的起動發動機。

現在只要我有一個目標,我選擇憤怒的小鳥作爲我最喜歡學習構建什麼類型的遊戲的初始目標。這是而不是將成爲一個市場發佈遊戲。這是完全只會成爲學習的目的。

因此,要開始我的問題是:

  • 將這樣的事情是可以實現的使用cocos2d的?
  • 我會如何去建立這個物理?
  • 如何做一個屏幕滾動像他們在cocos2d做的方式? (任何示例代碼都會很好)

這只是爲了開始。如果您有任何特定問題,請添加到此問題中。


一些事情,我想知道:

  • 動畫精靈。人們如何創造這一點?這是一個Cocos2d功能,或者我可以使用UIImageView?
  • 拖放支持。他們如何檢測到我正在拖動這隻鳥?
  • 更多的圖形問題:他們如何動畫「帶拉伸」效果?

歡呼


進展

所以我已經能夠建立在cocos2d世界一起Box2D的,現在我有碰撞和模擬物理只有幾個街區。現在我遇到了一些我認爲可以通過提示/幫助/教程解決的問題。

  1. 如何使精靈在弧中移動?就像你扔鳥時它沿着曲線移動一樣。我該如何計算?那邏輯去哪了? (內置或需要編碼?)

  2. 如何創建一個世界(地圖),其中某些塊是靜態的,並且某些是易碎的?我應該看看cocos2d中的SVG支持嗎?

  3. 如何模擬碰撞,就像他們在憤怒的小鳥一樣?

歡呼聲。

回答

0

一些想法:

  • 它看起來在cocos2d實現的。
  • cocos2d集成了兩個物理引擎:box2d和ChimpMunk。你應該嘗試其中之一。
  • 您可以查看關於視差滾動的示例(或文檔),以實現一些外觀,然後檢查cocos2d提供的觸摸管理。

作爲一個側面說明,開發cocos2d的人會出售Sapus Tongue(他的遊戲)的源代碼,該代碼可能對您很有幫助。

4
  1. 像憤怒的小鳥這樣的遊戲絕對可以使用cocos2d。

  2. 你一定要使用box2d或Chipmunk。我會推薦box2d,因爲我發現它更容易理解。基本思想是你爲每個精靈創建一個box2d主體,例如鳥和結構的碎片都是獨立的物體。

  3. 基本的想法是創建一個大於包含所有內容的屏幕的圖層,然後移動該圖層。要允許通過觸摸滾動,您需要跟蹤觸摸在觸摸開始/移動/完成方法中移動的距離,並相應地移動圖層。您也可以使用CCFollow動作來模擬鳥兒在空中飛行。

    您的其他問題

編輯:

  1. 雪碧動畫使用CCSpriteSheet處理。您可以在programming guide中看到更多信息。

  2. 通過使用觸摸位置來檢測您在哪裏拖動鳥,當您編寫觸摸方法時,這非常簡單。再次參考programming guide

  3. 我不確定拉伸樂隊的最佳方式。一種方法是使用幾個精靈(樂隊的每一邊一個,一個用於中間的'小包'),並根據需要進行拉伸/旋轉。

+0

謝謝科林。 增加了幾個問題。 – Obaid 2010-06-18 19:27:21