注冊登錄

小程序小游戲文件結(jié)構(gòu)和開發(fā)語言

2020-09-27
導(dǎo)讀:文件結(jié)構(gòu) 任何應(yīng)用都會(huì)有一個(gè)入口文件,微信小游戲也是如此,小游戲的入口文件是根目錄下的game.js。從文件名中可以看到,這個(gè)入口文件仍是 js 文件。...

  文件結(jié)構(gòu)

  任何應(yīng)用都會(huì)有一個(gè)入口文件,微信小游戲也是如此,小游戲的入口文件是根目錄下的game.js。從文件名中可以看到,這個(gè)入口文件仍是 js 文件。的確,小游戲在開發(fā)語言上沒有同小程序那樣又另建一套規(guī)范,而是依舊采用 js 作為開發(fā)語言。

  其次,一般而言一個(gè)應(yīng)用的代碼除了功能邏輯之外,還會(huì)有一些配置文件。對于小游戲而言,它只有一個(gè)必要的配置文件game.json,而它的配置項(xiàng)更是不足十個(gè)。所以說,如果之前有過 h5 游戲的開發(fā)經(jīng)驗(yàn)再來開發(fā)小游戲,可以說是基本沒有任何的學(xué)習(xí)成本。

  只要有了上述這兩個(gè)文件,小游戲就可以正常運(yùn)行了。

  Adapter

  雖然,微信小游戲使用 js 作為開發(fā)語言,但小游戲的運(yùn)行環(huán)境是JavaScriptCore(iOS) 和V8(Android),而不是熟悉的瀏覽器或者 Node,也就沒有 BOM, DOM 或者文件操作等 API。

  你可能會(huì)疑惑,連 DOM 都沒有了還怎么玩?不用擔(dān)心,微信自身提供了一系列 API 來完成創(chuàng)建畫布、繪制圖形、顯示圖片以及響應(yīng)用戶交互等基礎(chǔ)功能。

  “又有 API,不是說好沒有學(xué)習(xí)成本嗎?”

  這里就又要吹一波微信了。

  微信提供了一個(gè)名為weapp-adapter的非常棒的庫文件,用于瀏覽器或 Node API 到微信 API 之間的適配。只需在入口文件引入它,就可以不用額外學(xué)習(xí)微信 API,而是直接使用 DOM 或其他(如 Node)API 來編寫小游戲了。

  注:adapter 會(huì)自動(dòng)創(chuàng)建一個(gè) canvas 并暴露到全局。這個(gè) canvas 也是主畫布,之后創(chuàng)建的 canvas 都不會(huì)直接顯示,如要顯示,需將它們畫到主畫布上。

  當(dāng)然,這個(gè) adapter 也不是完美的,它還是有著許多的不足之處。

  微信官方對它的定位是一個(gè)第三方庫,并不屬于小游戲的范疇,之后也將不再維護(hù)。不過,微信提供現(xiàn)有 adapter 實(shí)現(xiàn)的源碼下載,之后可以根據(jù)各自需要,自行添加功能進(jìn)行維護(hù)。

  其次,所有的適配最終是通過微信提供的 API 實(shí)現(xiàn),所以它對瀏覽器 API 的模擬是不完整的。

  另外,圖中的游戲引擎之前沒有接觸過就不多說了,有興趣的可以關(guān)注官方文檔。

重磅推薦:小程序開店目錄

第一部分:小商店是什么

第二部分:如何開通一個(gè)小商店

第三部分:如何登錄小商店

第四部分:開店任務(wù)常見問題

第五部分:小商店可以賣什么

第六部分:HiShop小程序特色功能

第七部分:小程序直播

第八部分:小程序收貨/物流

第九部分:小程序怎么結(jié)算

第十部分:小程序客服

第十一部分:電商創(chuàng)業(yè)

第十二部分:小程序游戲開發(fā)

電話咨詢 微信咨詢 預(yù)約演示 0元開店