1. 自學cocos2d js游戲開發應該按什麼步驟進行
跟你簡要說一下我的自學路,以免你走彎路
背景:
有工作,而且很忙;在不影響工作基礎上用業余時間鼓搗(經常會因為工作耽擱學習進度);基本沒技術背景(初中qbasic、高中pascal半吊子),大學文科,工作也不是搞代碼。因此我感覺我的自學路跟你還是挺契合的。
1
兩年前的一天,決定要做獨立游戲製作人。選定引擎cocos2d,開始學習objective-c語言;(如果你打算只在iOS平台開發可以學obj-c配合cocos2d或者sprite kit;如果打算跨平台就要用cocos2d-x和c++了;當然unity什麼的也不錯但是我還沒嘗試過,一直很嚮往)
2
我跳過了iOS程序開發(似懂非懂看完了斯坦福那一系列的教學視頻),結合當時情況直接選擇了cocos2d引擎,這時開始接觸 @吳一刀 推薦的博客;我主要看的是子龍山人<子龍山人 - 博客園>、Ray Wenderlich<Ray Wenderlich>、Himi<黑米GameDev街區>這些博客里最基本的例子,知易那個以我當時的水平還看不懂。
3
嘗試開始設計自己的簡單游戲,我做打地鼠!當然比教學例子里的打地鼠復雜多了
4
這個過程中發現自己懂的實在是不夠,所以又開啃這本書:Learn cocos2d 2 by Steffen Itterheim & Andreas Low
5
慢慢的發現需要一些趁手的工具和編輯器,並發展出一套自己構建於cocos2d之上的游戲設計架構。我目前的情況是這樣:
關卡編輯我使用plist文件配合自己寫的類;
sprite sheet使用TexturePacker<TexturePacker>;
動畫/UI編輯最初自己手寫太累,後來選擇了cocosbuilder,請注意現在這個軟體已經停止維護,轉而引導用戶使用SpriteBuilder<SpriteBuilder>(域名都做了自動跳轉;SpriteBuilder我木有研究過,建議你研究一下)。
粒子編輯我自己還沒實際用到,如果真正需要我感覺cocosbuilder的夠我用的。//更新:後來用到了ParticleDesigner和cocosbuilder兩個軟體的粒子編輯混搭
我當時遇到的一個大麻煩是如何讓cocosbuilder、cocos2d版本互相兼容且cocosbuilder無問題。大概情況是這樣:cocosbuilder2.1和cocos2d-iphone2.0及2.1版本都不協調怎麼辦?;What version of Cocosbuilder and Cocos2d-iphone should I choose?
目前我使用的cocosbuilder 2.1版本(漸變層有bug、並且很可惜動畫播放完沒有觸發消息的機制,我只好把每個動畫時長都手動記錄一下自己處理)
======3月12日更新======
在 @GarfieldKwong 指點下發現這個版本動畫播放完是可以觸發消息機制的,更高級版本3.x支持的效果應該是在動畫中就加入callback的關鍵幀
新技能get√
具體代碼可見下面學習案例的第一個例子里Explosion部分
=====================
cocosbuider的學習可以看兩個例子Creating a Game with CocosBuilder;Introction to CocosBuilder;然後就是多用多嘗試。
6
整個學習過程要學會查資料、學會尋求幫助,我主要用的stackoverflow(話說剛剛發現stackoverflow的reputation喜過15,終於可以投票了:)
在學習過程中得到了子龍山人(我認為本尊是這位 @屈光輝 )、LearnCocos2d作者Steffen、 @kubisoft 以及眾多網上朋友的幫助,再次表示感謝。
7
硬體及開發者資格:看完c++開始看obj-c,這個過程一直是使用的vmware虛擬機安裝的mac系統寫程序;然後入手一個最便宜的mac pro、以及iPhone,嘗試玩各種游戲;從看c++開始大約過了1年半(已經有非常簡陋的游戲demo)才真正購入iOS開發者資格並開始真機測試。
8
嘗試過的一些其他工具、各種彎路和坑、以及發散內容:
可以拖拽方式寫代碼的stencyl <Stencyl: Make iPhone, iPad, Android & Flash Games without code>;
最初學的不是ojc-c而是譚浩強老師的c++程序設計(雖然有人不喜譚老師,但那書是中文的讓我對面對對象程序設計有一些初步的概念,再看英文的obj-c不至於太摸不著頭腦,反正手頭正好有這么一本買了6年沒看的c++。。。);
嘗試過<Tiled Map Editor>但自己目前的坑沒有用到;
嘗試過一點物理引擎和粒子,但自己目前的坑沒有用到;現在粒子用到了,做了火焰等效果,也挺美的;但是一定要注意CPU佔用優化,內存方面我最低支持4S沒遇到大問題
學習音樂製作,這個我小時候學琴一直也喜歡音樂所以有一點點底子,如果沒有基礎可能上手有門檻;開始用的軟體LMMS,但是音源插件在64位系統的問題我一直沒解決掉時間精力也不多,所以是暫時停滯了;最近發現Garage Band可能也可以寫歌;另外還試過一個很有歷史的微軟的音樂自動編輯器,很好玩,用來做背景音樂也不錯。
入手手繪板學畫畫(這中間糾結了好久才決定用點陣圖不用矢量圖),如果你能找到熱愛游戲的美術同學一起搞那最好不過。但是我一直對畫畫心癢難搔。。。所以入了這個深坑,曬一曬:
轉載
z
2. 怎麼成為cocos2d-js程序員
我將展示如何在 Mac os 10.9(Maverics) 上搭建 Cocos2d-JS 開發環境。
下載必備的軟體包
下載並安裝WebStorm7。WebStorm7目前的穩定版本是7.0.3。為什麼我們選擇WebStorm?因為它提供了許多功能,如JavaScript代碼的語法完成,調試,語法高亮,版本系統集成等,你可以去WebStorm的更多信息的官方網站。
從Cocos2d-x的官方網站下載Cocos2D-JS 3.0alpha版本。點此處下載。當你下載了的Cocos2D-JS
3.0alpha版本。你應該把它解壓縮到一個合適的位置。在我們的例子中,我把它解壓在~/work/cocos2d-js-v3.0-alpha2. ~代表你的主目錄路徑,這在我們的例子中是 /Users/linshun。
注意:
你也可以通過GitHub上得到的Cocos2D-JS的前沿版本。這里是的Cocos2D-JS GitHub的版本庫,最新的開發工作在develop分支。
下載並安裝Chrome34和JetBrains-IDE-support擴展。
好吧,讓我們來看看如何配置WebStorm7開發和調試我們的Cocos2D-JS應用。
如何創建新工程
Cocos2d-JS 提供了一個控制台工具,使CH5和JSB應用程序的開發更加簡單和方便得多。你可以使用它來創建一個新的項目,其發布到Android,iOS,Mac
OS或web,它是非常容易使用。
安裝Console工具
第一步,在你使用該工具前需要先安裝。 請克隆 Cocos2d-JS倉庫並跟新所有子模塊。在Cocos2d-JS文件夾下打開控制台工具(console),然後在控制台上運行./setup.py。在安裝期間你可能需要提供你的
NDK, Android SDK 和 ANT的路徑。 注意該工具是使用python開發的,所以你需要在你的機子上安裝python
2.7.5或以後的版本(但是不支持 python3)。
**注意: ** 請執行 source ~/.bash_profile,使環境設置立即生效。
創建新工程
// 創建一個包含 Cocos2d-x JSB 和 Cocos2d-html5 工程:
cocos new -l js
// 創建一個僅包含 Cocos2d-html5 的工程:
cocos new -l js --no-native
// 在指定的目錄創建一個指定名字的工程:
cocos new projectName -l js -d ./Projects
在這個教程中,我們使用 cocos new -l js 在當前目錄創建一個MyJSGame工程。
運行該工程
使用Websever 運行 Cocos2d-JS 工程
cd ~/work/MyJSGame
cocos run -p web
使用Cocos2d-x JSB 編譯並運行項目
cd ~/work/MyJSGame
cocos compile -p ios|android|mac
cocos run -p ios|android|mac
有用的參數
-p platform : 平台可以是 ios|mac|android|web.
-s source : 你的工程目錄, 如果不指定當前目錄會被使用.
-q : 靜默模式, 移除日誌消息.
-m mode : debug 或 release 模式, 默認是debug
--source-map: 普通的 source-map 文件. (僅針對Web 平台)
3. 如何在Cocos2d-JS環境下使用Cocos Studio導出的資源
使用Studio2.0發布的CSB資源更換了載入方式,需要用CSLoader來載入。CSLoader在Cocos2d-x3.3RC0開始提供。以下提供的是C++的代碼,lua、js的介面是一樣的。只有一點區別:CSLoader在lua中對應cc.CSLoader在js中對應ccs.csLoader(在2d-js3.1RC0中需要做點修改)
4. 「3.0中不鼓勵使用SpriteBatchNode」,適用於cocos2d-js v3.3嗎
先說說SDK的開發步驟:
1、 安裝python
2、 解壓SDK,運行setup.py
3、 運行cmd,新建cocos2d-js項目:cocos new –l js project_name
4、 使用webStorm等IDE打開項目目錄,新建的項目已經有現成HelloWorld例子
5、 了解一下main.js的說明(關於project.json),然後打開resource.js和app.js閱讀代碼
6、 在app.js中正式開始自己的代碼編寫。當然,這里可以增加新的js文件,需要修改project.json。
再說說js類庫的開發步驟:
1、 下載類庫
2、 新建HTML頁面,引入相應類庫
3、 在onload之後,編寫cocos2d-js代碼,從cc.game.run()開始。入口代碼其實跟SDK開發方式的main.js一樣。這里更推薦使用SDK方式,因為可以通過閱讀源代碼獲取API的使用說明。
開始cocos2d-js開發前,需要洗洗腦,知道cocos2d-js的平面坐標情況。這跟HTML和canvas的布局都不一樣。
5. IntelliJ IDEA怎麼導入已有的cocos2d-js工程
用首先cocos2d自帶的腳本生成android的項目工程,導入eclipse,其中eclipse必須要安裝c++插件,NDK之類的,接下來將Cocos2d的庫文件考到eclipse下(其實就是android.mk文件中用到的所有c++文件),然後在eclipse中用NDK編譯,最後編譯成功會生成.so文件,然後再運行就可以了。
Android Studio 是一個全新的 Android 開發環境,基於IntelliJ IDEA. 類似 Eclipse ADT,Android Studio 提供了集成的 Android 開發工具用於開發和調試