小遊戲開發上手體驗 – Cocos Creator

Crossin先生發表於2019-03-04

微信群裡最大的騷擾源有兩種:

一是轉發#吱口令#~!@#¥%……&*,長按複製此訊息領紅包之類的

另一種就是各種小程式和小遊戲的分享

前天有同學無意間把一個小遊戲分享到了答疑群中,我看了一下,其實遊戲的程式碼邏輯並不複雜(簡化版的跳一跳,套上個吃雞的主題),於是就隨手立了一個FLAG:

小遊戲開發上手體驗 - Cocos Creator

正好我最近也有研究下小遊戲的打算,趁週日沒什麼事,說幹就幹吧。

不過作為上手專案,我選擇了一個更熟悉的遊戲:打飛機

話不多說,先上成品:

小遊戲開發上手體驗 - Cocos Creator

遊戲地址:

Cocos Creator | Planelab.crossincode.com

(暫時只提供手機版,電腦上比例沒限制)

文章剛發出去一陣子估計人會很多,遊戲載入慢,打不開可以稍等一會兒。

老讀者應該知道,之前我們用 pygame 做過這個打飛機遊戲的教程。公眾號(Crossin的程式設計教室)對話裡回覆關鍵字 pygame 可獲取教程及程式碼。

但 pygame 開發的遊戲是無法通過網頁發給別人線上玩的,更不能做成微信小遊戲。

所以我這次是用了遊戲引擎 Cocos Creator。它使用 JavaScript 作為開發語言,開發出的遊戲可以直接生成微信小遊戲、網頁、iOS、安卓等平臺上的版本。衝著這一點,也就勉強可以忍受用 js 開發的痛苦了。

除了 Cocos Creator,其實我最近也嘗試了另外兩個比較常用的網頁小遊戲引擎:EgretUnity

簡單分享下我的體驗:

Cocos Creator

我是 cocos2dx 的老使用者,從很早版本就開始使用,用它開發過商業遊戲。cocos2d 最早源自 python,之前教室也發過一些用 cocos2d 系引擎(python/js)開發的遊戲(分別回覆關鍵字 貪吃蛇皮皮蝦火箭),但說實話,各種版本和小 bug 讓人體驗真的不太好,所以我是想著換別的試試。但 Cocos Creator 意外地讓我眼前一亮。它其實已經拋棄了以前 2dx 的開發流程,改走元件化、資料驅動的模式(應該是借鑑了 unity 的優點),跟 cocos2dx 可以說是完全兩樣東西了。雖然我覺得有些地方讓人不習慣(主要是 node 和元件的關係變化),另外程式碼提示和除錯資訊還是比較弱(也可能是我姿勢不對),但總得感覺還行,應該是比較適合我自己的需求。

Egret

Egret 在前兩年 HTML5 小遊戲剛興起的時候發展非常快,一整套的開發工具也很完善,不僅可以寫小遊戲,也可以寫 HTML5 的移動頁面。但我這次在用的時候,在第一步使用者登入的地方就卡住了,各種無法連線,就根本用不了開發工具,官網搜了一圈也沒找到解決方案(聽說開發者群比較活躍,需要在那裡問問題)。後來好不容易才弄成功了。Egret 還是基於程式碼的開發模式,有一系列配套工具處理開發中的各種環節,個人感覺更適合團隊分工使用。

Unity

Unity 作為世界級的老牌引擎,功能足夠強大,跟前倆就不是一個級別的(Cocos Creator 大概就是 2D 低配版的 Unity)。但從另一個角度來說,也因此太“重”了。而且因為各種素材是基於 3D 模型的,需要有一定專業技能才能搞定。當然它也提供了素材商店,裡面有很多免費素材可以使用。之前我們的文章 地球上所有人站在一起會是什麼樣? 裡就用到了 Unity。

所以僅從我個人開發小遊戲自娛自樂的角度來看,我本是想拋棄過去 cocos 那一套東西,結果試了一圈發現 cocos creator 更適合……當然這不代表其他的引擎不好,還是要看你的需求,選擇合適你的。

今天這篇我就不講遊戲的程式碼實現了,感興趣的可以先看看程式碼,地址見文末。因為一來是改用了 JavaScript,二來資料驅動的模式和之前程式碼驅動的模式有很大的區別。

舉個例子:以前你要在遊戲上顯示一行文字,你需要在程式碼中定義一個 Label 物件,新增到顯示層上,設定它的位置、顯示效果、顯示的文字內容。而現在你只要拖動一個 Label 元件到場景中,在屬性皮膚上輸出相關數值即可。

之後我也會寫更多的小遊戲,對此感興趣的同學,或者有什麼好玩的點子,都可以留言討論。如果大家覺得有需要,後面我可以來詳細寫下這方面的教程。

本文相關的程式碼和素材已上傳,需要的同學請在公眾號(Crossin的程式設計教室)對話欄回覆關鍵字 飛機

════
其他文章及回答:

如何自學Python | 新手引導 | 精選Python問答 | 如何debug? | Python單詞表 | 知乎下載器 | 人工智慧 | 嘻哈 | 爬蟲 | 我用Python | 抓抖音 | requests | AI平臺 | AI名畫

歡迎微信搜尋及關注:Crossin的程式設計教室

小遊戲開發上手體驗 - Cocos Creator

相關文章