最近比較多文章都是因應上架後遇到許多玩家的問題而產生的一些分享。這篇也不例外,因應RMMV在steam中開啟後,無法直接使用截圖功能因此做了一個熱鍵截圖功能
功能簡介 新增熱鍵P可以直接擷取遊戲畫面,並且自動存檔
適用對象 RMMV + 輸出單機版的作者 - 遊戲丟到Steam 發現無法用Steam功能拍照,又希望玩家可以拍照的作者
開始STEP 1: 第一步我們先來增加按下P鍵時的對應功能, 這邊利用關鍵字 onKeyDown 可以搜尋到SceneManager.onKeyDown這個功能
按照慣例,我們先把整段複製下來 接著利用
https://keycode.info/ 網站找出我們要使用的熱鍵,這個範例中我們用"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 版本目前已支援此功能