简介
EmulatorJS是一个基于JavaScript和Webassembly技术的虚拟环境的实现,可以在网页中运行各种经典FC游戏系统,支持任天堂、世嘉、雅达利等经典红白机。EmulatorJS的诞生使得诸如超级玛丽、坦克大战、魂斗罗等经典FC游戏能够以一种全新的方式回归。本文将以魂斗罗为例讲述如何使用 EmulatorJS在网页端实现经典FC游戏(仅供学习使用)。
项目简介
EmulatorJS 是一个基于Web前端的RetroArch模拟器界面,它允许用户在浏览器中体验多种经典游戏系统。此项目经过重写(自版本4.0起),不再是emulatorjs.com项目逆向工程的产物,而是一个全新的实现。支持的游戏系统包括任天堂GBA、NES等,至Atari 2600、Sega Genesis等多个经典平台。
目录结构及介绍
EmulatorJS 的项目结构组织如下:
.gitignore: 版本控制忽略文件,定义了哪些文件或目录不应被Git跟踪。
CHANGES.md: 更新日志,记录项目的重要更新和版本变化。
CODE_OF_CONDUCT.md: 行为准则,规定了社区成员间的互动标准。
CONTRIBUTING.md: 贡献指南,指导开发者如何参与项目贡献。
LICENSE: 许可证文件,表明该项目遵循GPL-3.0许可协议。
README.md: 项目简介,提供了快速入门指南和重要链接。
index.html: 主入口文件,是Web应用的首页,负责加载和初始化模拟器。
package.json: NPM包配置文件,包含了项目依赖、脚本命令等信息。
docs/: 文档相关资料,可能包含开发指南或额外帮助信息。
data/: 可能存储模拟器数据文件或示例ROMs,但具体未在提供的引用中明确。
项目的启动文件介绍
主要启动文件:index.html
index.html 是项目的起点,它不仅是网页的骨架,还负责加载必要的JavaScript库和初始化EmulatorJS。通过这个文件,EmulatorJS加载其核心功能并呈现用户界面,从而让用户能够选择游戏系统和加载游戏。
项目的配置文件介绍
EmulatorJS的配置细节更多地体现在代码逻辑中,而非单独的配置文件。不过,可以通过修改index.html或运行时环境变量来调整某些行为。比如,数据路径(EJS_pathtodata)可以通过设置为特定的CDN地址来改变,默认指向https://cdn.emulatorjs.org/<version>/data/,这可以理解为一种运行时配置方式。
对于更深入的配置,如模拟器核心的选择、界面定制等,开发者可能需查看源码中的JavaScript文件,尤其是初始化部分,以及通过环境变量或参数进行调整。由于直接的配置文件不明显,实践上,开发者应当阅读源码注释和package.json内的脚本说明,以了解如何进行更复杂的配置或自定义构建过程。
请注意,进行任何配置更改或项目部署之前,请确保已经阅读了CONTRIBUTING.md和README.md中的指示,以遵循正确的开发流程和社区规范。此外,利用提供的CDN资源可以轻松集成最新或指定版本的EmulatorJS到你的Web应用中。
[!注意]
从 EmulatorJS 版本 4.0 开始,本项目不再是 emulatorjs.com 项目的逆向工程版本。它已经被完全重写。
[!警告]
从版本 4.0.9 开始,核心和压缩文件不再包含在代码库中。您需要单独获取它们。您可以从 发行版 或 新的 CDN(查看 这里 获取更多信息)中获取。我们还引入了新的版本系统。(阅读 这里 获取更多信息)。
[!小贴士]
克隆代码库不再推荐用于生产环境。您应该使用 发行版 或 CDN。
广告
本项目没有广告。
尽管如此,演示页面目前有一则广告以帮助资助这个项目。
演示页面上的广告可能会根据资助人数的多少出现或消失。
您可以在 patreon 上帮助资助这个项目。
问题
如果某些功能不起作用,请考虑创建一个带有尽可能多细节以及控制台日志的 [问题]
第三方项目
EmulatorJS 本身被设计为一个插件,而不是完整的网站。这就是为什么没有这个项目的 Docker 容器。然而,有多个项目使用了 EmulatorJS!
寻找集成 EmulatorJS 的项目?查看 https://emulatorjs.org/docs/3rd-party
版本控制
有三个不同的版本名称需要注意:
稳定版 - 这将是模拟器最稳定的版本,代码和核心都将在发布前经过测试。每次 GitHub 上发布新版本时,它都会更新。这是演示中的默认版本。
最新版 - 这将包含最新的代码,但使用稳定的核心。每次 main 分支更新时,它都会更新。
夜间版 - 这将包含最新的代码和最新的核心。核心每天都会更新,因此这被认为是 alpha 版。
CDN
EmulatorJS 提供了一个 CDN,位于 https://cdn.emulatorjs.org/
,允许访问模拟器的任何版本。
要使用它,请将 EJS_pathtodata
设置为 https://cdn.emulatorjs.org/<version>/data/
,将 <version>
替换为 stable
、latest
、nightly
或其他主要版本。
请确保还将 loader.js
路径更新为: https://cdn.emulatorjs.org/<version>/data/loader.js
开发:
运行一个本地服务器与:
在项目根目录打开终端。
安装依赖项,使用:
npm i
使用以下命令启动压缩:
node start
在浏览器中打开并访问 http://localhost:8080/
以查看演示页面。
压缩
在将脚本文件推送到生产服务器之前,建议进行压缩以节省加载时间和带宽。
阅读 压缩 文档以获取更多信息。
本地化
如果您想帮助进行本地化,请查看 本地化 文档。
>> 在报告错误时,请指明您使用的版本
支持的系统
一、创建游戏目录
将Emulator解压以后,进入games文件夹

在games文件夹中创建游戏目录,本文以魂斗罗为例,顾创建了contra文件夹。如下图所示:

二、添加游戏文件
将魂斗罗游戏文件contra.nes复制到contra文件夹中

三、打开index.html
加载游戏即可游玩。
下载地址
推荐本站淘宝优惠价购买喜欢的宝贝:
以下内容需要兑换:
本文链接:https://www.hqyman.cn/post/11790.html 非本站原创文章欢迎转载,原创文章需保留本站地址!
打赏

微信支付宝扫一扫,打赏作者吧~
休息一下~~