mirror of
https://github.com/galacean/engine.git
synced 2026-05-22 17:00:49 +08:00
115 lines
6.0 KiB
Plaintext
115 lines
6.0 KiB
Plaintext
---
|
||
order: 2
|
||
title: 导出到微信小游戏
|
||
type: 多平台导出
|
||
label: Platform
|
||
---
|
||
|
||
## 平台配置说明
|
||
|
||
在导出到微信小游戏平台的时候,有以下这些配置项:
|
||
|
||
<Image src="https://mdn.alipayobjects.com/huamei_w6ifet/afts/img/A*Dc_mQITPRogAAAAAAAAAAAAAejCHAQ/fmt.webp" />
|
||
|
||
| 配置 | 描述 | 对应到微信小游戏的配置文件 | 对应到微信小游戏中的字段
|
||
| ------------- | ------------- | ------------- | --------------------------------------------------------------------------------------------------------------------------------- |
|
||
| AppId | 微信小游戏的 AppId,必填,截图中的 wxdf8199565c509fb9 为测试账号 | project.config.json | appid |
|
||
| Orientation | 设置游戏屏幕方向: Landscape(横屏)、Portrait(竖屏)| game.json | deviceOrientation |
|
||
| Request | wx.request 的超时时间,单位:毫秒 | game.json | networkTimeout.request |
|
||
| Connect Socket | wx.connectSocket 的超时时间,单位:毫秒 | game.json | networkTimeout.connectSocket |
|
||
| Upload File | wx.uploadFile 的超时时间,单位:毫秒 | game.json | networkTimeout.uploadFile |
|
||
| Download File | wx.downloadFile 的超时时间,单位:毫秒 | game.json | networkTimeout.downloadFile |
|
||
| Subpackages | 子包列表的配置 | game.json | subpackages |
|
||
|
||
更多配置详见:[project.config.json](https://developers.weixin.qq.com/minigame/dev/devtools/projectconfig.html)、[game.json](https://developers.weixin.qq.com/minigame/dev/reference/configuration/app.html)
|
||
|
||
## 导出
|
||
|
||
选择好微信小游戏平台后,点击导出面板最下方的下载按钮,即可导出所需工程:
|
||
|
||
<Image src="https://mdn.alipayobjects.com/huamei_w6ifet/afts/img/A*yAeER487lbsAAAAAAAAAAAAAejCHAQ/fmt.webp" />
|
||
|
||
## 调试
|
||
|
||
1、从编辑器导出到本地后,目录结构如下:
|
||
|
||
<Image src="https://mdn.alipayobjects.com/huamei_w6ifet/afts/img/A*LMWMQpQNdA0AAAAAAAAAAAAAejCHAQ/fmt.webp" style={{zoom: "50%"}} />
|
||
|
||
**工程目录说明**
|
||
|目录或文件|说明|
|
||
|-------------|-------------|
|
||
|public|资产目录,编辑器所有资产导出到这个目录下,资产的 path 为 /public/xxx|
|
||
|scripts|开发者在编辑器中添加的脚本组件,导出到本地后,开发者可以在里面的脚本组件中进行二次开发|
|
||
|game.json|对应微信小游戏工程所需要的 [game.json](https://developers.weixin.qq.com/minigame/dev/reference/configuration/app.html)|
|
||
|game.ts|入口文件,初始化的逻辑都放在这里|
|
||
|package.json|主要存放项目依赖包|
|
||
|project.config.json|对应微信小游戏工程所需要的 [project.config.json](https://developers.weixin.qq.com/minigame/dev/devtools/projectconfig.html)|
|
||
|project.ts|Galacean 的工程文件,放置初始化相关信息|
|
||
|
||
2、工程导出到本地后,先进入到根目录执行以下命令进行依赖包的安装:
|
||
|
||
```bash
|
||
npm i
|
||
```
|
||
|
||
3、本地构建微信小游戏平台所需产物,调试阶段可以执行如下命令:
|
||
|
||
```bash
|
||
npm run dev
|
||
```
|
||
执行完这个命令后,会在项目的根目录下生成一个新的目录,这个目录就是微信小游戏所需要的产物,如下:
|
||
|
||
<Image src="https://mdn.alipayobjects.com/huamei_w6ifet/afts/img/A*wYi0QoS-BUsAAAAAAAAAAAAAejCHAQ/fmt.webp" style={{zoom: "50%"}} />
|
||
|
||
执行 dev 命令,产物里会有源码的 source map 文件,方便调试,当开发者完成调试准备发包时,可以执行命令:
|
||
|
||
```bash
|
||
npm run release
|
||
```
|
||
|
||
执行这个命令后,相对 dev 产生的产物会去掉 source map 文件,并对代码进行压缩,体积更小,适合发布,如下:
|
||
|
||
<Image src="https://mdn.alipayobjects.com/huamei_w6ifet/afts/img/A*7mvZR6wwEV4AAAAAAAAAAAAAejCHAQ/fmt.webp" style={{zoom: "50%"}} />
|
||
|
||
|
||
4、打开**微信开发者工具** ,选择小游戏,并导入步骤 3 中生成的目录,如下:
|
||
|
||
<Image src="https://mdn.alipayobjects.com/huamei_w6ifet/afts/img/A*v-odQJDjcfUAAAAAAAAAAAAAejCHAQ/fmt.webp" />
|
||
|
||
5、完成步骤 4 后,即可在微信开发者工具中预览最终的结果,如下:
|
||
|
||
<Image src="https://mdn.alipayobjects.com/huamei_w6ifet/afts/img/A*meRxSLDswlgAAAAAAAAAAAAAejCHAQ/fmt.webp" />
|
||
|
||
6、在微信开发者工具中的调试,详见:[微信小游戏调试](https://developers.weixin.qq.com/minigame/dev/guide/runtime/debug/)
|
||
|
||
## 分包
|
||
|
||
### 概述
|
||
|
||
随着小游戏玩法日益丰富,内容增多,包体积变大,影响加载速度。微信小游戏提供分包功能,将游戏内容按规则拆分为主包和子包。主包包含首次启动必要的资源,子包则按需加载,使用户能快速进入游戏。
|
||
|
||
### Galacean 编辑器分包配置
|
||
|
||
在 Galacean 编辑器中,文件夹是子包划分的单位。不在子包的内容会进主包。导出小游戏时,在导出面板的子包列表添加子包并关联文件夹即可分包。
|
||
|
||
### 子包配置步骤
|
||
|
||
1、打开导出面板,选择微信小游戏平台,点击子包列表的添加子包按钮,添加子包:
|
||
|
||
<Image src="https://mdn.alipayobjects.com/huamei_w6ifet/afts/img/A*j5u6Q7txvj4AAAAAAAAAAAAAejCHAQ/fmt.webp" />
|
||
|
||
2、在子包中,选择需要分包的文件夹即可完成子包的配置:
|
||
|
||
<Image src="https://mdn.alipayobjects.com/huamei_w6ifet/afts/img/A*ndgyR5bjGqsAAAAAAAAAAAAAejCHAQ/fmt.webp" />
|
||
|
||
### 注意事项
|
||
|
||
- 设置为子包的文件夹下的脚本资源不会计入子包,会单独导出到主包中
|
||
- 微信小游戏中,主包的大小限制为 4M,单个子包不限制大小,但是整个小游戏的主包+分包大小不超过 30M,更详细的规则见:[分包](https://developers.weixin.qq.com/minigame/dev/guide/base-ability/subPackage/useSubPackage.html)
|
||
- 分包的配置、加载等引擎均帮开发者自动处理好了,开发者动态加载子包下的资产和普通资产是一样的,都是通过 engine.resourceManager.load 来加载
|
||
|
||
## 发布
|
||
|
||
本地完成调试后,即可进行发布,具体发布流程详见:[微信小游戏发布](https://developers.weixin.qq.com/minigame/introduction/guide/)
|
||
|