跳到主要内容

微信小游戏运行环境与适配

级别:首作必学。平台资料核实:2026-10-31。 微信小游戏提供游戏渲染、设备和平台 API。它与浏览器、普通小程序页面都有差异。

三个环境分别证明什么​

环境能帮助发现不能替代
Creator 浏览器预览规则、场景、基础输入与表现微信平台行为与设备性能
微信开发者工具输出工程、平台接口、调试信息所有机型的渲染与内存情况
微信真机触摸、前后台、音频、纹理与性能真实账号审核或完整机型覆盖

小游戏不是直接运行 DOM 页面。使用 Cocos 时,引擎负责大量 Canvas 与平台适配;游戏交互优先走引擎输入系统,避免同时注册底层 wx 触摸再重复处理。

设备与窗口信息​

新代码按目的选择 getWindowInfo、getDeviceInfo、getAppBaseInfo 等接口。getSystemInfo 已停止维护,不宜继续作为所有信息的统一入口。具体接口兼容性通过官方表格和 wx.canIUse 等方式检查。

wx.getWindowInfo() 提供窗口尺寸、像素比和安全区信息;不能假定每台设备都返回 safeArea。方向差异也需要处理。没有字段时应有合理回退,并在实际布局上验证。

// 平台适配层片段;需要微信类型声明和支持此 API 的基础库。
const info = wx.getWindowInfo();
const safe = info.safeArea;
const top = safe ? safe.top : 0;
// 将窗口单位转换到当前引擎 UI 空间后,再应用到布局。

这个片段不完整表达横竖屏转换或胶囊区域避让。顶部操作还要根据实际平台菜单位置和设计方向检查,不能只减一个固定像素值。

平台能力隔离​

把登录、广告、存储与窗口信息放在少量清楚的适配函数里。规则层不需要知道 wx。浏览器预览可以提供日志或本地实现;真机版本再接实际能力。不要假装一个浏览器模拟广告已经证明了真实广告奖励流程。

错误与兼容策略​

对必要能力明确最低支持范围,对可选能力提供降级。平台调用失败时记录 API、错误码、版本与阶段,避免只写“网络异常”。界面需要给玩家下一步,例如重试、继续本地游玩或稍后恢复。

练习:记录一台目标设备的窗口、引擎 UI 尺寸和安全区;在长短屏检查 HUD 与棋盘。完成标准:能说明坐标来源和回退策略,并识别哪些结论必须真机确认。

参考:getSystemInfo 维护说明、getWindowInfo、createCanvas。