最近比较多教学文章,都是因应上架后遇到许多玩家的问题而产生的一些分享。
这篇也不例外,因应RMMV在steam中开启后,无法直接使用截屏功能因此做了一个热键截屏功能
功能简介
添加热键P可以直接截取游戏画面,并且自动存盘
适用对象
– RMMV + 输出单机版的作者
– 游戏丢到Steam 发现无法用Steam功能拍照,又希望玩家可以拍照的作者
开始
STEP 1:
第一步我们先来增加按下P键时的对应功能,
这边利用关键字 onKeyDown 可以搜索到SceneManager.onKeyDown这个功能
按照惯例,我们先把整段复制下来
接着利用 网站找出我们要使用的热键,这个范例中我们用”P”来作为拍照热键。
若不了解switch case 用途的伙伴,请上网爬个文章,印象会更深刻w
STEP 2:
接着,我们加入一个用来拍照的方法且在按下keycode = 80时 调用
暂时命名 playerSnapShop()
STEP 3:
接着就是实际拍照要做什么事情了。
在这边我们使用的概念是利用SceneManager先暂存目前画面
所以我们添加2个function,一个用来暂存,一个用来取用并且清除
STEP 4:
最后,我们来撰写将暂存的画面存成图片的功能
前半段,我们先将会用到的功能初始化,并取得游戏目前的路径
接着,设置好我们想保存的路径,这边使用 screenshot 作为范例
把最终路径塞到 last_path 中,这边看看图片中的说明会比较清楚
再来,不要睡着。我们快到最后阶段了:)
在图片命名的部分,为了方便我们使用”现在时间.png” 来命名,使用的是unix time
并且将文件转换成保存图片的格式
.
最后,我们利用最前面的 fs.existsSync(last_path) 检查有没有这个文件夹路径
没有的话就mkdirSync来自动创建
.
.
一切就绪之后,利用fs.writeFileSync 将图片存到指定的路径
最后一行的 alert(…) 则是每当玩家按下拍照按钮时,就会跳出一个框告诉玩家图片保存的路径
方便玩家进行查找,不想使用的话也可以注解掉:)
最后提供插件全图
.
收工!下课!
Q:为什么不直接提供插件
A:此系列教学比较偏向一起动手做,根据粽子自学的经验。程序这种东西还是要自己多动手写,即使是照抄你也会慢慢熟悉,慢慢了解。因此想要学习写插件的小伙伴自己动手写一遍吧!
此外眼中的世界EarlyAccess 版本目前已支持此功能
使用影片的部分有空时再来补上