1. 程式人生 > >微信_小程式_1_認識微信遊戲

微信_小程式_1_認識微信遊戲

微信例子游戲:

工程結構:

## 原始碼目錄介紹 ./js ├── base                                   // 定義遊戲開發基礎類 │   ├── animatoin.js                       // 幀動畫的簡易實現 │   ├── pool.js                            // 物件池的簡易實現 │   └── sprite.js                          // 遊戲基本元素精靈類 ├── libs │   ├── symbol.js                          // ES6 Symbol簡易相容 │   └── weapp-adapter.js                   // 小遊戲介面卡 ├── npc │   └── enemy.js                           // 敵機類 ├── player │   ├── bullet.js                          // 子彈類 │   └── index.js                           // 玩家類 ├── runtime │   ├── background.js                      // 背景類 │   ├── gameinfo.js                        // 用於展示分數和結算介面 │   └── music.js                           // 全域性音效管理器 ├── databus.js                             // 管控遊戲狀態 └── main.js                                // 遊戲入口主函式

檔案說明:

1.game.js 小遊戲入口檔案。

import './js/libs/weapp-adapter'

import './js/libs/symbol'

import Main from './js/main'

new Main()

//weapp-adapter是預設的遊戲介面卡檔案。

2.game.json 配置檔案,檔案位於根目錄下,完成介面渲染和屬性設定。

ex.

{

"deviceOrientation": "portrait",

}

//key="deviceOrientation"

//value="portrait"(豎屏),landscape(橫屏)

3.runtime目錄:

main檔案,main.js裡有程式的主函式,包括遊戲開始、敵人產生、遊戲偵迴圈、影象繪製、碰撞檢測等。遊戲結束後重新開始的按鈕及事件處理也在這個檔案中。

databus是個全域性狀態管理器,可以回收敵人,回收子彈,被回收的內容,不會進行偵迴圈,就不會繪製到螢幕上。

4.npc目錄:

是敵機類,從類Animation繼承而來,有屬性可以設定敵機飛行速度、敵機影象、預訂的敵機被擊中時爆炸的動畫。

5.player目錄:

玩家戰機,和子彈類。都是從Sprite類繼承而來。其中玩家戰機中有手指控制戰機位置的事件處理。子彈類中有子彈速度引數,及子彈超出螢幕回收的處理邏輯,當然這兩個類都有繪製圖像的資源定義。

6.base目錄:

物件池類,遊戲基礎的精靈Sprite類,和從精靈類繼承而來的簡易的幀動畫類Animation。pool類用於物件回收,Sprite類中宣告的寬度、高度、座標、影象,呼叫介面卡中cavans繪製圖像(戰機)。還有簡單的精靈碰撞(中心點碰撞)的定義。Animation類提供了讓精靈播放預定的幀動畫的功能。

7.lib目錄:

遊戲介面卡程式碼,weapp-adapter 不是小遊戲基礎庫的一部分,今後官方也將不再對 weapp-adapter 進行更新和維護。開發者應該根據自己使用的遊戲引擎,實現自己的 Adapter 來使所用的遊戲引擎適配小遊戲的執行環境。