cocos2dx3.17.2之夢幻西遊開發日誌(一)


夢幻西遊是很早很早的一個遊戲了,最近時間比較多,剛好又有重拾開發這麼一個遊戲的想法。現在只完成很少一些功能,後面慢慢添加上去,在這裏也算做一個簡單的記錄吧

開發環境

  1. 引擎選的是cocos2dx3.17.2,選這個一方面原因是它的輕量化,另一方向,也是自己用的時間比較多,相對比較熟悉。再有一點,是開源的,所以真有一些自己獨特的想法引擎不支持的時候,也可以適當改源碼哈哈。
  2. UI編輯器選的是cocosstudio,這個是cocoscreater出來之前cocos力讓推的一套東西,想包含UI編輯器、地圖編輯器、粒子編輯器在內的多種工具爲一身的工具包,出了creater後就不再更新。這個我也是翻了一些時間才找到的較早版本
  3. 地圖編輯器用的是tiledmap,這個是很早的編輯器了,功能也比較完善,至少對於我這樣做2d的場景是足夠用的。
  4. 其它的美術資源是從網上搞的,對於想單獨寫一個項目的開發者來說,資源恐怕是最頭疼的事情之一了。目前爲止的開發,也有一大半的時候都在四處找資源

已完成的功能

  1. 大框架搭起來,能進遊戲。
  2. 做開始UI
  3. 創建角色並顯示
  4. 角色可以控制改變方向(8方向)
  5. 角色可以移動並改變方向,停止後切換到原動作
  6. 顯示角色名字
  7. 加載地圖
  8. 加載NPC
  9. 顯示NPC名字;這裏將名字顯示抽象到父類實現,這樣NPC和角色名字的顯示可以用統一的接口
  10. 顯示怪物和怪物名字(這裏在這兒做了迭代,把相關動作顯示的內容全部抽象到mapElement父類中,使得實現更統一)
  11. 點擊NPC後,屏幕上面顯示目標名字
  12. 點擊Monster後,屏幕上面顯示目標名字
  13. 點擊Monster之後點擊技能,Monster會掉血,並在UI上顯示出來

代碼結構

遊戲裏現在只有2個Scene,一個是mainScene,一個是GameScene.

  1. mainScene執行登陸相關的邏輯,這裏只完成了登陸按鈕進行場景切換
  2. gameScene是遊戲的主場景,包含了地圖層跟角色層。地圖層再細分是數據層、顯示層疊、建築層和精靈層。數據層現在暫時沒添加,建築層也是由於沒有相關的資源未添加。精靈層現在包含了NpcList和Monster.
  3. 派生關係:從Sprite類派生出了CMapElement,這個類是所有地圖上顯示的元素的基類,它派生出了CDeffencer,這個執行所有的防禦邏輯,保存防禦屬性,Deffencer派生出了Attacker,Attacker派生出了Role和Monster,Npc繼承自Deffencer.

源碼

源碼

如果你想運行這個源碼,你需要去官方下載cocos2dx3.17.2,然後創建新的工程名爲hhxy,再把克隆到的代碼、項目文件、資源拷貝到你的工程目錄中,應該就可以運行。這個我沒有測試過。
也歡迎各位大神review我的代碼,提出寶貴的意見。

附圖

在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章