本文目錄一覽:
- 1、自學cocos2d js遊戲開發應該按什麼步驟進行
- 2、想學cocoscreator,請教學習路線,先要學cocos2d-js嗎
- 3、cocos js 怎樣做出按鈕選中效果
- 4、現在的Cocos開發前景怎麼樣?什麼地方可以學?
- 5、cocos-js怎麼做保衛蘿蔔
自學cocos2d js遊戲開發應該按什麼步驟進行
跟你簡要說一下我的自學路,以免你走彎路
背景:
有工作,而且很忙;在不影響工作基礎上用業餘時間鼓搗(經常會因為工作耽擱學習進度);基本沒技術背景(初中qbasic、高中pascal半吊子),大學文科,工作也不是搞代碼。因此我感覺我的自學路跟你還是挺契合的。
1
兩年前的一天,決定要做獨立遊戲製作人。選定引擎cocos2d,開始學習objective-c語言;(如果你打算只在iOS平台開發可以學obj-c配合cocos2d或者sprite kit;如果打算跨平台就要用cocos2d-x和c++了;當然unity什麼的也不錯但是我還沒嘗試過,一直很嚮往)
2
我跳過了iOS程序開發(似懂非懂看完了斯坦福那一系列的教學視頻),結合當時情況直接選擇了cocos2d引擎,這時開始接觸 @吳一刀 推薦的博客;我主要看的是子龍山人子龍山人 – 博客園、Ray WenderlichRay Wenderlich、Himi黑米GameDev街區這些博客里最基本的例子,知易那個以我當時的水平還看不懂。
3
嘗試開始設計自己的簡單遊戲,我做打地鼠!當然比教學例子里的打地鼠複雜多了
4
這個過程中發現自己懂的實在是不夠,所以又開啃這本書:Learn cocos2d 2 by Steffen Itterheim Andreas Low
5
慢慢的發現需要一些趁手的工具和編輯器,並發展出一套自己構建於cocos2d之上的遊戲設計架構。我目前的情況是這樣:
關卡編輯我使用plist文件配合自己寫的類;
sprite sheet使用TexturePackerTexturePacker;
動畫/UI編輯最初自己手寫太累,後來選擇了cocosbuilder,請注意現在這個軟體已經停止維護,轉而引導用戶使用SpriteBuilderSpriteBuilder(域名都做了自動跳轉;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;Introduction 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
想學cocoscreator,請教學習路線,先要學cocos2d-js嗎
因為開發的流程不一樣,所以不用學習cocos2d-js直接學習creator就好了,而且官方現在也是主推creator,所以直接creator即可。學習的話前提是需要會js哦。
cocos js 怎樣做出按鈕選中效果
cocos js 做出按鈕選中效果示例:
一,首先使用cocos新建一個Cocos2d-js的新項目,然後再cocostudio中創建一個場景,在場景中添加三個按鈕分別設置三態的圖片
二,打開編輯器,實現代碼如下:
var HelloWorldLayer = cc.Layer.extend({
ctor:function () {
this._super();
//導入cocostudio中拼好的界面
mainscene = ccs.load(res.MainScene_json).node;
this.addChild(mainscene);
this.teamButton = ccui.helper.seekWidgetByName(mainscene,”Button_0″);
var btn2 = ccui.helper.seekWidgetByName(mainscene,”Button_1″);
var btn3 = ccui.helper.seekWidgetByName(mainscene,”Button_2″);
//先默認設置一個按鈕為選中狀態 this.teamButton.setBrightStyle(ccui.Widget.BRIGHT_STYLE_HIGH_LIGHT);
this.teamButton.setEnabled(false);
var teamInfo = this.teamButton;
this.teamButton.addTouchEventListener(this.selectedBtn1,this);
btn2.addTouchEventListener(this.selectedBtn2,this);
btn3.addTouchEventListener(this.selectedBtn3,this);
return true;
},
selectedBtn1: function (sender, type) {
if(type == ccui.Widget.TOUCH_ENDED){
this.callBack(sender);
cc.log(“==========商店界面”);
}
},
selectedBtn2: function (sender, type) {
if(type == ccui.Widget.TOUCH_ENDED){
this.callBack(sender);
cc.log(“==========卡牌界面”);
}
},
selectedBtn3: function (sender, type) {
if(type == ccui.Widget.TOUCH_ENDED){
this.callBack(sender);
cc.log(“==========戰鬥界面”);
}
},
callBack: function (sender) {
if (this.teamButton == sender){
return;
}else{
this.teamButton.setBrightStyle(ccui.Widget.BRIGHT_STYLE_NORMAL);
this.teamButton.setEnabled(true);
sender.setBrightStyle(ccui.Widget.BRIGHT_STYLE_HIGH_LIGHT);
sender.setEnabled(false);
this.teamButton = sender;
}
},
});
var HelloWorldScene = cc.Scene.extend({
onEnter:function () {
this._super();
var layer = new HelloWorldLayer();
this.addChild(layer);
}
});
三,運行就可以查看界面,點擊不同的按鈕顯示不同的輸出結果
[Log] ==========商店界面 (CCDebugger.js, line 331)
[Log] ==========卡牌界面 (CCDebugger.js, line 331)
[Log] ==========戰鬥界面 (CCDebugger.js, line 331)
現在的Cocos開發前景怎麼樣?什麼地方可以學?
你好,Cocos開發的學習有四個階段,分別是:
第一階段:【C/C++遊戲編程語言開發基礎】
本階段從C、C++程序語言開始學習,逐步深入了解cocos2d內部遊戲編程機制, 熟練使用編程語言,如何綜合運用C語言創建電腦遊戲,初步了解最基礎的遊戲開發編程。
第二階段:【Cocos2d基礎開發 】
本階段把握Cocos2d-JS 的基本使用,包括創建項目、認識基礎元素、cocos2dx引擎原理,引擎基礎使用等等,進行階段性實踐,全面掌握Cocos2d-JS 進階知識,如物理引擎Box2d的使用、遊戲演算法、多平台開發等等,使學員對Cocos2d-x有更深一步的了解。
第三階段:【商業項目實戰+服務端+跨平台】
本階段將ARPG類遊戲實戰項目開發,強化遊戲架構設計、功能版塊的開發、數據交互等等,全面提高學員的遊戲編程、管理、封裝、框架能力, 提升項目開發能力,提高學員就業競爭能力和創業管理意識,以及多平台發布能力。
如果你感興趣的話,可以到龍圖教育來了解一下詳細的情況,望採納。
cocos-js怎麼做保衛蘿蔔
Cocos2d-x是跨平台的框架,用C++,包括windows、ios、android、linux等都可以移植。
Quick-Cocos2d-x是在Cocos2d-x上加了一些功能,具體我也沒用過,我只用過Cocos2d-x。
而Cocos2d-js是用JS姬訂灌寡弒干鬼吮邯經語言,主要是用於網頁端遊戲的開發。
Cocos Studio主要是遊戲界面和動畫的設計。
Cocos Code IDE是cocos官方發布的編程開發環境。如果不用官方的,我們可以用eclipse和vs等其他IDE,配置好之後進行開發。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/291952.html