成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

個(gè)人關(guān)于Cocos2d-x的一些看法及其發(fā)展展望

移動(dòng)開發(fā) iOS Android 游戲開發(fā)
這是一篇開發(fā)者對(duì)Cocos2d-x的一些看法及對(duì)其發(fā)展展望,期待各位的參與討論。Cocos2d-x沒有很復(fù)雜的一個(gè)架構(gòu),基本上是一些以單件形式提供的管理器和是一些圍繞SceneGraph(CCNode及其派生類)展開的類。這個(gè)設(shè)計(jì)使得cocos2d在結(jié)構(gòu)上很簡潔,使用者很容易上手。

 總體來說,cocos2d-x是一個(gè)優(yōu)秀的庫。

Cocos2d-x沒有很復(fù)雜的一個(gè)架構(gòu),基本上是一些以單件形式提供的管理器和是一些圍繞SceneGraph(CCNode及其派生類)展開的類。這個(gè)設(shè)計(jì)使得cocos2d在結(jié)構(gòu)上很簡潔,使用者很容易上手。

同時(shí)cocos2d的設(shè)計(jì)者充分利用了現(xiàn)成的一些游戲開發(fā)中的工具,將這些工具整合到引擎中來,例如BMFont、TexturePacker等工具,使得制作素材很方便。

作為一個(gè)跨平臺(tái)的游戲庫,cocos2d-x已經(jīng)做的非常好。 但如果將cocos2d-x定位為一款跨平臺(tái)的游戲引擎,我覺得Cocos2d-想可以朝以下幾個(gè)地方發(fā)展:

1、cocos2d-x可以提供一個(gè)好的游戲框架

cocos2d-x提供的一些Demo,以及教人寫程序的方法基本是讓開發(fā)人員編寫一個(gè)CCScene的子類,通過子類化的方式來實(shí)現(xiàn)具體的邏輯,作為教學(xué)這樣非常好。

作為正式開發(fā),個(gè)人建議cocos2d-x可以提供一個(gè)具體的游戲框架,這個(gè)框架在總體上提供了一個(gè)移動(dòng)平臺(tái)的游戲的通用功能(例如:LoadingScene, TitleScene, HighscoreScene等等),游戲開發(fā)人員要做的只是根據(jù)自己游戲的情況來選擇定制自己的游戲。

2、cocos2d-x對(duì)游戲邏輯的支持可以增強(qiáng)

對(duì)開發(fā)這來說,怎么編寫游戲邏輯是一個(gè)麻煩的問題,Cocos2d-x用SceneGraph的方式來管理場(chǎng)景,很自然地,游戲開發(fā)人員肯定希望使用cocos2d-x提供的方式來管理對(duì)象,這樣就要從CCNode等對(duì)象派生,甚至有的開發(fā)人員還建議直接從CCSprite等萬能類派生類編寫功能代碼。這樣做的方式并非不可以,但作為一個(gè)好的開發(fā)人員,你以后會(huì)發(fā)現(xiàn)這樣帶來的問題非常多,例如:游戲復(fù)雜了之后,你會(huì)發(fā)現(xiàn)繼承關(guān)系層次很多,導(dǎo)致代碼需要不停重構(gòu)來適合新的需求,最后你設(shè)計(jì)的基類越來越復(fù)雜等等。

現(xiàn)在比較主流的方式是使用Entity-Component系統(tǒng)來組合出我們的邏輯。關(guān)于Entity-Component系統(tǒng)這里就不再細(xì)說。僅僅簡單說明一下:游戲中的對(duì)象為一個(gè)Entity,每個(gè)Entity使用由一個(gè)或多個(gè)Component構(gòu)成。

例如游戲中的雷電游戲中的一架飛機(jī)可以由:Flyable(可飛行Component,提供飛行功能)、Shotable(可發(fā)射Component,提供發(fā)射子彈的功能)、Sprite(Sprite Component,提供顯示功能)、Colliable(碰撞Component,提供碰撞檢測(cè)的功能)構(gòu)成。

當(dāng)然僅僅有Entity-Component系統(tǒng),對(duì)于游戲框架來說還是不夠的。例如:當(dāng)子彈擊中飛機(jī)的時(shí)候,是直接調(diào)用函數(shù)嗎?直接調(diào)用當(dāng)然不好。首先子彈和飛機(jī)都是Entity,在外部來看,你不知道他們由什么Component組成,直接查詢Component并調(diào)用Component的函數(shù),這明顯就違背了封裝的原則。如果提供了消息系統(tǒng)Event System,通過給Entity發(fā)送消息,Entity中的組件收到消息后,由組建去處理自己關(guān)心的消息,這樣不僅實(shí)現(xiàn)功能,而且結(jié)構(gòu)有漂亮。

3、cocos2d-x對(duì)游戲開發(fā)工具的支持

對(duì)于游戲開發(fā)引擎來說,優(yōu)秀的工具永遠(yuǎn)是第一位的。有了工具,游戲開發(fā)者就可以很快的時(shí)間做出原型,然后在這個(gè)基礎(chǔ)上,通過快速迭代優(yōu)化數(shù)值和表現(xiàn)來快速開發(fā)游戲。

以Cocosbuilder這樣一款工具來說吧,目前階段cocos2d-x要做一款這樣的功能的工具,還需要改善一下代碼。最基本的就是提供持久化(Persistence)的支持。可以任何時(shí)刻將游戲的內(nèi)容或者編輯器中制作的內(nèi)容保存到磁盤文件。以后需要的時(shí)候可以打開保存的文件。 

要實(shí)現(xiàn)這些,我覺得有幾點(diǎn)基礎(chǔ)需要增加:

1、提供RTTI的支持;

  • 可以讓一個(gè)對(duì)象在運(yùn)行是判斷是否是某類對(duì)象(PS:別告訴我用dynamic_cast來實(shí)現(xiàn)。),具體實(shí)現(xiàn)可以參考很多現(xiàn)成的方案;

2、提供類工廠的支持;

  • 可以根據(jù)文件中的保存的類名等來構(gòu)造出相應(yīng)的類,例如:讀到"CCNode"的時(shí)候,可以根據(jù)"CCNode"來創(chuàng)建出CCNode對(duì)象;

3、提供對(duì)象屬性的設(shè)置;

  • 當(dāng)讀取到一個(gè)屬性名稱和數(shù)值的時(shí)候,提供一個(gè)方式來設(shè)置對(duì)象的屬性。例如讀取到osition的時(shí)候,提供一個(gè)方式來設(shè)置node->setPosition(xxx)。

以上這些是個(gè)人的一點(diǎn)設(shè)想,希望大家也提出自己的意見。

責(zé)任編輯:佚名 來源: Cocos2d-x中文論壇
相關(guān)推薦

2012-04-17 13:12:00

2012-04-17 12:52:01

cocos2d-x

2011-12-12 10:40:08

Cocos2d-X游戲開發(fā)開發(fā)環(huán)境

2013-05-22 15:49:46

2012-04-17 12:38:46

cocos2d-x

2012-04-17 12:44:38

cocos2d-x

2012-04-16 15:20:41

cocos2d-x

2013-12-03 10:58:50

Cocos2D-X磚塊地圖

2012-04-17 10:06:08

cocos2d-x

2012-04-17 10:59:31

cocos2d-x

2013-04-16 10:02:47

cocos2d-x懶人Android開發(fā)

2013-06-03 17:04:20

CocoStudioCocos2D-X添加CocoStudi

2013-05-22 14:38:44

iOS開發(fā)Cocos2d-x坐標(biāo)系統(tǒng)

2012-04-17 12:58:44

Cocos2D-X

2014-07-31 16:57:30

2012-02-19 20:10:23

Cocos2d-x fCocos2dWindows Pho

2012-12-07 11:32:33

Exchange 20

2012-04-17 12:47:27

cocos2d-x

2014-01-03 13:50:06

2013-04-24 16:18:10

觸控科技Cocos2d-x 2
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 黄色在线网站 | 中文字幕成人在线 | 日韩福利一区 | 日韩小视频 | 日本一区二区视频 | 欧美精品久久久久 | 日本在线播放一区二区 | 中文字幕第一页在线 | 毛片免费观看视频 | 国产不卡在线 | 亚洲电影一区 | 久久青青 | 激情自拍偷拍 | 欧美日韩一区在线播放 | 久久久久久国产精品 | 日韩精品一区二区三区高清免费 | 亚洲一区二区三区视频免费观看 | 亚洲一区二区三区免费在线观看 | 6996成人影院网在线播放 | 精品久久久久国产 | 一区二区国产精品 | 日韩国产在线 | 精品日韩在线 | 久久久女女女女999久久 | 罗宾被扒开腿做同人网站 | 久久久久久看片 | 成人久久网 | 亚洲精品在线观看视频 | 一级黄色片一级黄色片 | 国产成人精品一区二区三区在线 | 国产成人精品一区二区三区在线 | 国产99久久精品一区二区300 | 国产精品二区三区 | www.狠狠干 | 免费播放一级片 | 91一区二区在线观看 | 亚洲精品视频久久 | 亚洲成人在线免费 | 婷婷毛片| 在线国产一区二区 | 精品久久久久国产免费第一页 |