白鹭引擎是一个基于HTML5的开源游戏引擎,它可以帮助开发者快速地创建各种类型的HTML5游戏。由于它是基于H5的游戏引擎,我们可以将其打包成各种不同平台的应用,包括桌面应用(如EXE)。
本教程将介绍如何将用白鹭引擎制作的HTML5游戏打包成EXE文件。
## 一、原理
我们将通过使用 Electron 框架(https://www.electronjs.org/)将白鹭引擎生成的 H5 游戏封装为桌面应用。Electron 是一个用于构建跨平台(Windows、macOS、Linux)桌面应用的开源框架,它允许使用 JavaScript、HTML 和 CSS 构建原生应用。Electron 结合了 Chromium 和 Node.js,使得我们可以将 H5 游戏作为一个独立的桌面应用运行。
## 二、详细步骤
### 1. 安装 Node.js
在开始之前,请确保已经安装了 Node.js(https://nodejs.org/)。为了确认是否已经安装 Node.js,你可以在终端或命令提示符中输入以下命令:
```
node -v
```
### 2. 使用白鹭引擎创建一个简单的游戏
首先,我们需要使用白鹭引擎创建一个简单的游戏。如果已经有一个基于白鹭引擎的游戏,那么可以跳过这一步。我们将在这个教程中使用官方的 Hello World 示例。
### 3. 安装 Electron
现在我们需要为游戏项目安装 Electron。在游戏项目目录下,打开终端或命令提示符,并输入以下命令安装 Electron:
```
npm init -y
npm install electron --save-dev
```
这将在项目文件夹中创建一个 `package.json` 文件和安装 Electron 依赖。
### 4. 创建主进程文件
Electron 使用两种进程类型:主进程和渲染进程。主进程用于创建和管理窗口,渲染进程用于显示 HTML 内容。在项目根目录下,创建一个名为 `main.js` 的文件,并填入以下内容:
```javascript
const { app, BrowserWindow } = require('electron')
function createWindow () {
const win = new BrowserWindow({
width: 800,
height: 600,
webPreferences: {
nodeIntegration: false,
contextIsolation: true
}
})
win.loadFile('index.html')
}
app.whenReady().then(() => {
createWindow()
app.on('activate', () => {
if (BrowserWindow.getAllWindows().length === 0) {
createWindow()
}
})
})
app.on('window-all-closed', () => {
if (process.platform !== 'darwin') {
app.quit()
}
})
```
此代码创建一个窗口,并在其中显示项目根目录下的 `index.html` 文件。
### 5. 修改 package.json
为了在项目中启动 Electron,需要修改 `package.json` 文件。在`scripts`字段中,添加一个名为`electron`的任务,该任务通过运行`electron .`命令,使用项目的根目录作为主进程文件(`main.js`)。
```json
{
"scripts": {
"electron": "electron ."
},
"devDependencies": {
"electron": "^12.0.0"
}
}
```
### 6. 运行游戏
在项目目录下,打开终端或命令提示符,运行以下命令启动 Electron:
```
npm run electron
```
这将打开一个 Electron 窗口,显示我们在`index.html`里的白鹭游戏内容。
### 7. 打包成EXE文件
在项目目录下,执行以下命令来安装 electron-packager:
```
npm install electron-packager -g
```
接下来,运行以下命令将项目打包到一个 exe 文件:
```
electron-packager . MyApp --platform=win32 --arch=x64 --out=out
```
其中,“MyApp”是程序的名称,"out"表示输出文件夹的名称。程序将会打包到"out"文件夹中,可以自行查看并运行打包好的 exe 文件。
现在你已经成功地将白鹭引擎开发的 H5 游戏打包成了EXE文件,可以在 Windows 操作系统上进行测试和分发。同样的过程也可以适用于打包成 macOS 和 Linux 的应用程序。