23
2025
06
23:11:02

EmulatorJS 使用与安装教程

简介

        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应用中。





![ Badge 许可 ]

适用于各种系统的自托管 JavaScript 模拟。


![ 按钮 网站 ] ![ 按钮 使用方法 ]
![ 按钮 配置器 ]
![ 按钮 演示 ]
![ 按钮 贡献者 ]

加入我们的 Discord 服务器:

或者 Matrix 服务器 (#emulatorjs:matrix.emulatorjs.org):

在 Matrix 上聊天


[!注意]
从 EmulatorJS 版本 4.0 开始,本项目不再是 emulatorjs.com 项目的逆向工程版本。它已经被完全重写。

[!警告]
从版本 4.0.9 开始,核心和压缩文件不再包含在代码库中。您需要单独获取它们。您可以从 发行版 或 新的 CDN(查看 这里 获取更多信息)中获取。我们还引入了新的版本系统。(阅读 这里 获取更多信息)。

[!小贴士]
克隆代码库不再推荐用于生产环境。您应该使用 发行版 或 CDN


广告

本项目没有广告。
尽管如此,演示页面目前有一则广告以帮助资助这个项目。
演示页面上的广告可能会根据资助人数的多少出现或消失。

您可以在 patreon 上帮助资助这个项目。


问题

如果某些功能不起作用,请考虑创建一个带有尽可能多细节以及控制台日志的 [问题]


第三方项目

EmulatorJS 本身被设计为一个插件,而不是完整的网站。这就是为什么没有这个项目的 Docker 容器。然而,有多个项目使用了 EmulatorJS!

寻找集成 EmulatorJS 的项目?查看 https://emulatorjs.org/docs/3rd-party


版本控制

有三个不同的版本名称需要注意:

  1. 稳定版 - 这将是模拟器最稳定的版本,代码和核心都将在发布前经过测试。每次 GitHub 上发布新版本时,它都会更新。这是演示中的默认版本。

  2. 最新版 - 这将包含最新的代码,但使用稳定的核心。每次 main 分支更新时,它都会更新。

  3. 夜间版 - 这将包含最新的代码和最新的核心。核心每天都会更新,因此这被认为是 alpha 版。


CDN

EmulatorJS 提供了一个 CDN,位于 https://cdn.emulatorjs.org/,允许访问模拟器的任何版本。

要使用它,请将 EJS_pathtodata 设置为 https://cdn.emulatorjs.org/<version>/data/,将 <version> 替换为 stablelatestnightly 或其他主要版本。

请确保还将 loader.js 路径更新为: https://cdn.emulatorjs.org/<version>/data/loader.js


开发:

运行一个本地服务器与:

  1. 在项目根目录打开终端。

  2. 安装依赖项,使用:

    npm i
  3. 使用以下命令启动压缩:

    node start
  4. 在浏览器中打开并访问 http://localhost:8080/ 以查看演示页面。



压缩

在将脚本文件推送到生产服务器之前,建议进行压缩以节省加载时间和带宽。

阅读 压缩 文档以获取更多信息。


本地化

如果您想帮助进行本地化,请查看 本地化 文档。


>> 在报告错误时,请指明您使用的版本




支持的系统


任天堂

Game Boy Advance   |  Famicom / NES   |  Virtual Boy

Game Boy   |  SNES   |  DS   |  64



Sega

Master System   |  Mega Drive   |  Game Gear

Saturn   |  32X   |  CD



Atari

2600   |  5200   |  7800   |  Lynx   |  Jaguar



Commodore

Commodore 64 | Commodore 128 | Commodore Amiga

Commodore PET | Commodore Plus/4 | Commodore VIC-20



其他

PlayStation   |  PlayStation Portable   |  Arcade

3DO | MAME 2003 | ColecoVision



一、创建游戏目录

将Emulator解压以后,进入games文件夹

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

二、添加游戏文件

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

三、打开index.html

加载游戏即可游玩。


下载地址  



推荐本站淘宝优惠价购买喜欢的宝贝:

image.png

以下内容需要兑换:

本文链接:https://www.hqyman.cn/post/11790.html 非本站原创文章欢迎转载,原创文章需保留本站地址!

分享到:
打赏





休息一下~~


« 上一篇 下一篇 »

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

请先 登录 再评论,若不是会员请先 注册

您的IP地址是: