微信_小程序_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 来使所用的游戏引擎适配小游戏的运行环境。

你可能感兴趣的:(微信)