小程序小游戲文件結(jié)構(gòu)和開發(fā)語言
文件結(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è)小商店
- 第 1 頁【微信小程序小游戲】2018年微信小程序小游戲開發(fā)入門大全(附實(shí)例)
- 第 2 頁【小程序游戲語言】 微信小程序小游戲開發(fā)語言是javascript,小程序創(chuàng)建canvas
- 第 3 頁【小程序小游戲動(dòng)畫】 小程序小游戲怎么做動(dòng)畫,小程序小游戲動(dòng)畫代碼介紹
- 第 4 頁【小程序小游戲交互】 小程序小游戲觸摸事件怎么做
- 第 5 頁【小程序游戲開發(fā)結(jié)構(gòu)】 小程序小游戲文件結(jié)構(gòu)和開發(fā)語言
- 第 6 頁【小程序小游戲案例】 敲磚塊小游戲開發(fā)實(shí)例詳細(xì)步驟講解(附代碼)