Files
esengine/packages/engine/platform-wechat
YHH a049bbe2f5 fix: add private:true to packages not meant for npm (#345)
* fix(ci): run on all PRs with conditional skip

- Remove paths filter from pull_request trigger
- Add check-changes job to detect code changes
- Skip full CI if no code files changed
- Satisfies branch protection while avoiding unnecessary builds

* fix: add private:true to packages not meant for npm

Prevents changesets from trying to publish internal packages:
- engine/* (8 packages)
- rendering/* (8 packages)
- physics/* (2 packages)
- streaming/* (1 package)
- tools/sdk, tools/worker-generator
2025-12-26 17:45:00 +08:00
..

@esengine/platform-wechat

微信小游戏平台适配器,为 ECS Framework 提供微信小游戏环境支持。

安装

npm install @esengine/platform-wechat

使用

import { PlatformManager } from '@esengine/ecs-framework';
import { WeChatAdapter } from '@esengine/platform-wechat';

// 注册微信小游戏适配器
const adapter = new WeChatAdapter();
PlatformManager.getInstance().registerAdapter(adapter);

// 使用子系统
const canvas = adapter.canvas.createCanvas();
const ctx = canvas.getContext('webgl');

// 加载 WASM 模块
const instance = await adapter.wasm.instantiate('path/to/module.wasm');

子系统

子系统 描述
canvas Canvas 创建、WebGL 上下文
audio 音频播放、音量控制
storage 本地存储
network 网络请求、WebSocket
input 触摸输入
file 文件系统操作
wasm WebAssembly 加载

平台限制

  • SharedArrayBuffer: 不支持
  • Worker: 支持,但有限制(需独立文件,最多 1 个)
  • eval: 不支持
  • WASM: 支持,使用 WXWebAssembly

game.json 配置

{
  "workers": "workers",
  "subpackages": [
    {
      "name": "wasm",
      "root": "wasm/"
    }
  ]
}

License

MIT