失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 撸一个VS Code插件——红白机模拟器 支持手柄 支持保存

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

时间:2024-07-29 21:04:55

相关推荐

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

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

前言

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

一搜发现竟然已经有了,就叫 小霸王,但我试了一下,发现这个插件现在已经不能用了(我目前用的VS Code版本1.74,也许旧版本的还能用,我没试。),受到它的启发,我撸了一个目前能用、且功能更强大的版本。

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

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

使用

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

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

功能

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

几点说明:

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

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

远程ROM地址

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

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

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

然后编辑settings.json

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

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

在这里插入图片描述

关于jsnes这个库

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

如果觉得《撸一个VS Code插件——红白机模拟器 支持手柄 支持保存》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。