FinClip为企业提供小程序生态圈技术产品,开发者可在FinClip小程序开发帮助中心找到相关FinClip小程序指引

# 小游戏开发指南

基础库2.11.6开始支持

# 小游戏目录结构

小游戏包含一个描述整体程序的 app 。

一个小游戏主体部分由三个文件组成,必须放在项目的根目录,如下:

文件 必需 作用
game.js 小游戏逻辑
game.json 小游戏公共配置

# 基础能力

# 存储

每个小程序都可以有自己的本地缓存,可以通过 ft.setStorage、ft.getStorage、ft.clearStorage,ft.removeStorage 对本地缓存进行读写和清理。

# 渲染

# 画布

小游戏只有一个上屏画布,可以有多个离屏画布。通过 wx.createCavans 可以创建一个画布对象。

# 绘图上下文及接口。

通过 Canvas.getContext 可以创建绘图上下文。返回的具体绘图上下文类型可查看 RenderingContext。

# 模块化

# 模块化

小程序目前暂不支持「直接引入 node_modules」,需要通过 构建 npm 完成引入工作,需要时也可直接复制代码到小程序的目录中,再进行使用。

注意

exports 是 module.exports 的一个引用,因此在模块里边随意更改 exports 的指向会造成未知的错误。所以更推荐开发者采用 module.exports 来暴露模块接口,除非你已经清晰知道这两者的关系。

// common.js
function sayHello(name) {
  console.log(`Hello 小游戏框架 !`)
}
function sayGoodbye(name) {
  console.log(`Goodbye 小游戏框架 !`)
}

module.exports.sayHello = sayHello
exports.sayGoodbye = sayGoodbye

# 文件作用域

在 JavaScript 文件中声明的变量和函数只在该文件中有效;不同的文件中可以声明相同名字的变量和函数,不会互相影响。

# 全局对象

类似于浏览器的 Window 和 NodeJS 的 global,小游戏也有一个全局对象 GameGlobal。通过 GameGlobal 可以在多个文件中传递变量。

提示

在小游戏中没有 window 这种全局对象,如果有需要请将数据挂载到 GameGlobal。通过

// a.js

GameGlobal.globalData = 1
// b.js

console.log(GameGlobal.globalData) // 输出 "1"

# 小游戏DEMO

IDE 1.8.27 及以上版本支持运行小游戏

使用本地目录加载时需切换为小游戏运行模式

1、

砍树小游戏 (opens new window)

2、

飞机大战 (opens new window)

3、pixi.js demo:

拼图 (opens new window) 运行时打开压缩包内的 dist 目录

4、egret 引擎 demo:

密室逃生 (opens new window) 运行时打开压缩包内的 RoomRun_wxgame 目录

© 2022 FinClip with ❤

👋🏻 嘿,你好!

「FinClip」是一套基于云原生框架设计的小程序容器。能够让任何移动应用在集成小程序SDK之后,获得可用、安全的小程序运行能力。

>> 点我免费注册体验

查看产品文档
了解与 FinClip 相关的一切信息

产品博客 👈  了解产品更新与核心功能介绍
资源下载 👈  获取小程序 SDK 与开发工具
文档中心 👈  查询 FinClip 小程序开发指南与答疑

商务咨询热线
预约 FinClip 产品介绍,咨询商务报价或私有化部署事宜

0755-86967467

获取产品帮助
联系 FinClip 技术顾问,获取产品资料或加入开发者社群

联系线上
人工客服

或 👉  点击这里,提交咨询工单