内容提要
本文介绍如何用 Electron 替换 TyranoScript 官方启动器 tyranorider。官方启动器基于旧版 NW.js,开发者工具落后,而 TyranoScript 几乎不依赖启动器,可运行于现代浏览器引擎。教程演示安装 Electron、配置 package.json 与 main.js、加载 index.html 并开启开发者工具,还支持 ES6。打包推荐 electron-builder,先 pack 测试再 dist 生成安装包,并补充全屏实现方法。
延伸解读
为何要替换官方启动器
官方启动器 tyranorider 基于旧版 NW.js,内置开发者工具落后,调试效率低。而 TyranoScript 几乎不依赖启动器功能,绝大多数逻辑都在 js 文件中,因此可以脱离官方启动器,运行在任何现代浏览器引擎上。替换后不仅能获得最新的开发者工具,还能使用 ES6 语法,提升开发体验。
Electron 方案的关键步骤
选择 Electron 是因为其社区活跃、文档友好。搭建时需先备份原 package.json,因为 TyranoScript 配置与 Electron 冲突。然后安装 Electron,配置 main 属性和 start 脚本,编写 main.js 创建窗口并加载 index.html,同时开启开发者工具。注意区分主进程与渲染进程,这是 Electron 与普通浏览器的核心差异。
打包注意事项与测试建议
打包推荐使用 electron-builder。直接 dist 可能因代码中 require 了 fs-extra 和 jquery 而报错,需先安装这两个依赖。建议先用 pack 打包到 dist 文件夹测试,确认无误后再用 dist 生成各系统安装包。pack 结果在 win-unpacked 文件夹,资源默认打包为 app.asar。
全屏实现与 DevTool 扩展
实现全屏无需 IPC 通信,在渲染进程中通过 require('electron').remote.getCurrentWindow().setFullScreen(true) 即可调用主进程方法。此外,可安装 DevTron 扩展查看依赖和 IPC 消息,辅助调试。注意即使在渲染进程,也能直接 require 已安装的 npm 依赖。
Q&A
为什么需要替换 TyranoScript 的官方启动器 tyranorider?
官方启动器 tyranorider 基于旧版 NW.js,内置开发者工具非常过时,远落后于当前 Chrome 开发者工具的功能。而 TyranoScript 几乎不依赖启动器,可以运行在任何现代浏览器引擎上,因此可以替换启动器以获得更好的调试体验。
如何用 Electron 替换 TyranoScript 的启动器?
首先安装 Electron:npm i -D electron。备份原 package.json,然后修改 main 属性为 main.js,并添加 start 脚本:"start": "electron ."。接着编写 main.js,创建 BrowserWindow 并加载 index.html,同时开启开发者工具。运行 npm start 即可启动游戏。
用 Electron 打包 TyranoScript 游戏时,pack 和 dist 有什么区别?
npm run pack 只将应用打包到 dist 文件夹,适合测试;npm run dist 则直接生成各系统的安装包。建议先用 pack 测试是否有错误,再用 dist 打包。
使用 electron-builder 打包时遇到 require 引用错误怎么办?
因为代码中使用 require 引用了 fs-extra 和 jquery 库,直接打包会报错。需要先下载这两个依赖,然后再进行打包。
在 Electron 中如何实现游戏全屏?
在渲染进程中,使用 require('electron').remote.getCurrentWindow().setFullScreen(true) 即可调用主进程方法实现全屏。无需 IPC 通信,直接使用 remote 模块即可。
替换启动器后,TyranoScript 还能使用 ES6 吗?
可以。使用 Electron 后,你可以在 TyranoScript 中使用 ES6 语法,因为 Electron 基于现代浏览器引擎,支持新语法。