注冊(cè)登錄

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

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 文件。的確,小游戲在開(kāi)發(fā)語(yǔ)言上沒(méi)有同小程序那樣又另建一套規(guī)范,而是依舊采用 js 作為開(kāi)發(fā)語(yǔ)言。

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

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

  Adapter

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

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

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

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

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

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

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

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

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

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

重磅推薦:小程序開(kāi)店目錄

第一部分:小商店是什么

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

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

第四部分:開(kāi)店任務(wù)常見(jiàn)問(wèn)題

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

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

第七部分:小程序直播

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

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

第十部分:小程序客服

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

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

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