likes
comments
collection
share

撸一个VS Code插件——红白机模拟器 支持手柄 支持保存

作者站长头像
站长
· 阅读数 101

分享我自己写的VS Code红白机模拟器

前言

我曾经利用 jsnse 这个库封装了一个vue组件的nes模拟器:nes-vue: Vue 3 的NES(FC)模拟器组件 (gitee.com),最近心血来潮想试试能不能开发一个VS Code的插件版本。

市场地址:红白机 - Visual Studio Marketplace

仓库地址:VS Code插件 —— 红白机模拟器

使用

在VS Code插件市场搜“红白机”就能找到:

撸一个VS Code插件——红白机模拟器 支持手柄 支持保存

安装后,点击侧边栏的图标,就可以选择游戏进行游玩了:

撸一个VS Code插件——红白机模拟器 支持手柄 支持保存

功能

  • 支持手柄
  • 支持连发键
  • 支持即时保存、读取
  • 支持切换分辨率
  • 支持暂停、静音
  • 支持加载本地ROM
  • 支持双人

几点说明:

  • 出于VS Code的安全策略,选择游戏后,必须手动点击屏幕中的 点我开始游戏 才能运行,我估计 小霸王 这个插件现在不能用了,就是因为这个。
  • 因为始终只有一个存档,所以读取时要注意,游戏必须正在运行,并且确保运行的游戏与保存的是一致的。
  • 手柄即插即玩,但我只测试了PS手柄,也不清楚按键映射是否符合其他人的习惯,欢迎提意见。
  • 个别游戏的画面边缘会有显示不全的问题(例如坦克1990),可以去掉勾选“剪切画面边缘”,但大部分游戏还是建议勾上。

如果想要更多的功能,欢迎反馈。

远程ROM地址

我默认提供了20多个游戏的远程ROM地址,利用的是 Github Page ,理论上不太需要担心会失效的问题。

远程ROM不会下载到本地,所以每次选择游戏时,都会有个加载的过程,如果对Github的网速不好,个别游戏可能需要加载较长时间。

如果你想配置自己的远程ROM,可以点击扩展设置

撸一个VS Code插件——红白机模拟器 支持手柄 支持保存

然后编辑settings.json

撸一个VS Code插件——红白机模拟器 支持手柄 支持保存

可以在vscodeNes.romPath这个字段中,参照已有格式,任意增删改。

撸一个VS Code插件——红白机模拟器 支持手柄 支持保存

注意,游戏地址只能是在线地址,本地ROM可以直接在这里添加:

撸一个VS Code插件——红白机模拟器 支持手柄 支持保存

关于jsnes这个库

如果你对 jsnes 感兴趣,可以留言告诉我,因为这个库的官方文档写得太简陋,官方提供的示例又太复杂,新手第一次用会完全不知如何下手,更别提如何改分辨率、如何保存读取等等,我找时间分享一下我对它的使用经验,

转载自:https://juejin.cn/post/7231753231889711159
评论
请登录