博客 / 詳情

返回

手敲Cocos簡易地圖編輯器:人生地圖是一本不斷修改的書,每一次編輯都是為了克服新的阻擋

引言

本系列是《8年主程手把手打造Cocos獨立遊戲開發框架》,歡迎大家關注分享收藏訂閲。

在上一篇文章,筆者給大家講解了在Cocos獨立遊戲開發框架中,如何自定義實現Tile地圖管理器,成功地在遊戲中優化加載一張特大的地圖。接下來筆者為大家講解一下游戲中地圖編輯器的思路,以及它的簡單實現。

本文源碼和源工程在文末獲取,小夥伴們自行前往。

什麼是地圖編輯器?

遊戲中的地圖編輯器是一種軟件工具或功能,通常由遊戲開發者,用於創建、編輯和定製遊戲中的地圖或關卡。地圖編輯器允許玩家或設計者通過添加、移動、調整和刪除遊戲中的元素來自定義遊戲地圖,包括地形、建築、道路、角色生成點、敵人和物品的放置位置等。

地圖編輯器的主要功能

  1. 地形編輯:允許用户繪製、編輯和調整遊戲地圖的地形,如山脈、河流、森林、草地等。
  2. 物品和資源放置:允許用户放置和編輯遊戲中的各種物品、資源和道具,例如武器、藥品、寶藏等。
  3. 角色和敵人生成:允許用户設置玩家角色的初始位置和敵人的生成點,以及它們的行為和屬性。
  4. 地圖細節:允許用户增加地圖細節,如裝飾物、建築物、環境效果、天氣等,以提高地圖的視覺吸引力和氛圍。
  5. 地圖導出和分享:通常,地圖編輯器允許用户保存和導出他們創建的地圖,以便與其他玩家共享,或者在遊戲中進行測試和遊玩。
  6. 阻擋編輯:一些禁止前往的地方需要描畫阻擋。

地圖編輯器的實現思路

1.打開上一節的地圖工程

打開我們上一篇文章的Map工程,PS:筆者所有文章在文末都會附有源碼的獲取方式,大家可以自行前往獲取。

2.創建MapEditor腳本

MapEditor目前包含了編輯地圖阻擋信息和生成並下載對應配置文件的功能,思路非常清晰,有需要的話大家可以自行實現其他功能,例如放置怪物、道具等等其他功能。

根據地圖信息將阻擋信息描繪出來:

描繪主要使用cc.Graphics組件,該組件主要是用於繪製一些點、線、面,在地圖編輯器上非常適合:

地圖編輯器中的鼠標操作,左鍵用於畫阻擋,右鍵用於取消阻擋,長按滑動可以連續繪製或者取消阻擋。

注意我們需要用event.stopPropagation()阻斷事件傳遞,避免連續繪製的時候拖動地圖:

監聽鍵盤事件,i鍵可以開啓和關閉地圖編輯器,w鍵可以保存當前阻擋信息並且下載(需要用瀏覽器運行程序)

3.編寫測試代碼

創建一個MapEditor地圖編輯器和mapEditorNode節點,通過地圖數據初始化地圖編輯器:

地圖數據筆者主要用了上一份工程現成的,大家可以自行實現讀取和加載指定地圖的地圖數據:

4.測試結果演示

測試成功!按鍵i可以開啓和關閉地圖編輯器,按鍵w保存並下載地圖數據。鼠標左鍵可以畫阻擋,右鍵可以消除阻擋。地圖編輯器關閉狀態下才可以滑動地圖。

總結

地圖編輯器通常出現在各種類型的遊戲中,包括沙盒遊戲、策略遊戲、角色扮演遊戲和射擊遊戲等。它們為玩家提供了更大的自由度和創造性,使他們能夠為遊戲世界添加自己的想法和內容,從而豐富了遊戲的體驗和可玩性。

本文的重點內容主要有以下幾點,不知道小夥伴們是否已經理解:

  • 本系列是《8年主程手把手打造Cocos獨立遊戲開發框架》,歡迎大家關注分享收藏訂閲。
  • 什麼是地圖編輯器。
  • 地圖編輯器的主要功能。
  • 地圖編輯器的實現思路。
  • 源碼通過關注“億元程序員”發送"Editor"獲取。

AD:筆者已經上線的小遊戲《填色之旅》《貪吃蛇掌機經典》《重力迷宮球》大家可以自行點擊搜索體驗。

感興趣的小夥伴記得關注"億元程序員"哦,一位有着8年遊戲行業經驗的主程。學習遊戲開發不迷路。感謝您的關注,希望能給到您幫助, 也希望通過您能幫助到大家。

喜歡的可以點個、點個在看哦!請把該文章分享給你覺得有需要的其他小夥伴。謝謝。

user avatar u_17400268 頭像
1 位用戶收藏了這個故事!

發佈 評論

Some HTML is okay.