保姆級(jí)教程!如何在iOS機(jī)器上運(yùn)行RPGMaker MV游戲

寫(xiě)在前面:
本專欄部分內(nèi)容參考自

感謝 @True_end_WTF 帶來(lái)的啟發(fā)

1)原理
出對(duì)跨平臺(tái)能力的考量,RPGMaker MV(后文都簡(jiǎn)稱為RMMV)相較于前代的 XP / VX / VX ACE 拋棄了一直以來(lái)基于Ruby語(yǔ)言的RGSS(Ruby Game Scripting System)系統(tǒng),而采用了基于JavaScript的游戲系統(tǒng),這給予了RMMV無(wú)與倫比的跨平臺(tái)能力。你甚至可以像部署靜態(tài)網(wǎng)站一樣在服務(wù)器上部署一個(gè)RMMV游戲,然后在任何可以使用瀏覽器的終端上游玩到這個(gè)游戲(前提是你的服務(wù)器帶寬以及終端的網(wǎng)速足以支持assets文件的傳輸)。
由于其強(qiáng)大的跨平臺(tái)能力,開(kāi)發(fā)者很容易就能將游戲打包成適用于Windows、安卓、iOS、MacOS的格式,但是因?yàn)閕OS系統(tǒng)的特殊生態(tài)和AppStore審核的存在,大部分RMMV游戲都沒(méi)有做iOS適配的版本,于是本教程應(yīng)運(yùn)而生,旨在將未上架AppStore的RMMV游戲移植到iOS設(shè)備上運(yùn)行。
本教程的每一步都分兩部分:
如果只有移動(dòng)端,請(qǐng)看分割線上面的部分
如果有一臺(tái)電腦,請(qǐng)看分割線下面的部分
2)準(zhǔn)備工作
需要安裝以下軟件
只有 iPhone /?iPad
解壓軟件(推薦iZip)
Koder

有電腦
電腦上:
iTunes
手機(jī)上:
Koder
3)提取游戲本體
只有 iPhone?/?iPad
*游戲下載以百度網(wǎng)盤(pán)為例。
*如果游戲?yàn)榘沧康腶pk格式,可以將apk改為zip來(lái)解壓。
更改網(wǎng)盤(pán)中游戲壓縮包的后綴,將rar、zip、7z等常見(jiàn)壓縮文件后綴改為其他任意字符,防止百度識(shí)別到。(手機(jī)百度網(wǎng)盤(pán)一旦識(shí)別到壓縮包,就只能用其自帶的在線解壓功能了,不能將壓縮包拷貝給其他軟件了)
下載文件
點(diǎn)擊「用其他應(yīng)用打開(kāi)」,然后點(diǎn)擊「拷貝到iZip」
打開(kāi)iZip,將文件的后綴改回來(lái),解壓壓縮包。
解壓后,其中的www文件夾就是游戲本體(如果是從apk解壓,則assets文件夾才是游戲本體)

有電腦
在電腦上下載后直接解壓。解壓后,其中的www文件夾就是游戲本體(如果是從apk解壓,則assets文件夾才是游戲本體)
4)拷貝游戲本體
只有 iPhone?/?iPad
打開(kāi)iOS自帶的「文件」應(yīng)用
點(diǎn)擊「我的iPhone」,將iZip中解壓出的www文件夾移動(dòng)到Koder中的Local目錄 中

有電腦
將手機(jī)連接到電腦,選擇信任此設(shè)備
打開(kāi)電腦上的iTunes
將剛解壓出的游戲本體拖拽到Koder的文檔框中
打開(kāi)iOS自帶的「文件」應(yīng)用
點(diǎn)擊「我的iPhone」,將剛傳的游戲本體從Koder根目錄移動(dòng)到Local目錄下


5)測(cè)試游戲
打開(kāi)Koder,進(jìn)入www目錄,點(diǎn)擊打開(kāi)index.html

?點(diǎn)擊預(yù)覽圖標(biāo)

游戲就能成功運(yùn)行,就說(shuō)明移植初步成功了。
大部分RMMV游戲都是采用的ogg音頻,而iOS是不支持播放ogg格式的音頻,所以這一步運(yùn)行的游戲大概率是沒(méi)有聲音的
所以需要解決音頻問(wèn)題
6)安裝音頻插件
從評(píng)論區(qū)的鏈接下載
AudioStreaming.js
stbvorbis_stream.js
stbvorbis_stream_asm.js
將這三個(gè)文件復(fù)制到www/js/plugins目錄下
用Koder打開(kāi)www/js/plugin.js文件,將以下內(nèi)容復(fù)制粘貼到plugins列表中
注意不要缺結(jié)尾那個(gè)英文逗號(hào)


退出文件即會(huì)自動(dòng)保存
然后再打開(kāi)www目錄下的index.html,點(diǎn)擊預(yù)覽,此時(shí)游戲就有聲音了,能正常游戲。
至此移植完成。

Q&A
Q:RMMV游戲能用手柄玩嗎?
A:RMMV游戲?qū)κ直С址浅:?,但是Koder內(nèi)置的預(yù)覽并沒(méi)有對(duì)手柄進(jìn)行適配,所以無(wú)法將手柄輸入傳遞給游戲。
iPhone自帶的Safari瀏覽器可以使用手柄,你可以嘗試將Koder預(yù)覽時(shí)的url復(fù)制到safari中打開(kāi),就可以使用手柄進(jìn)行游戲了。
但有個(gè)比較大的缺陷就是,游戲的運(yùn)行依賴于Koder提供在9898端口上的fileserver,你在用Safari進(jìn)行游戲的時(shí)候,Koder必定要切到后臺(tái)。iOS系統(tǒng)下所有后臺(tái)應(yīng)用都是掛起狀態(tài),所以Safari上游戲一旦要請(qǐng)求新資源,就會(huì)卡loading,必須將Koder切到前臺(tái)后再切回Safari才能加載成功。頻繁的切換前后臺(tái)勢(shì)必會(huì)極大降低游玩體驗(yàn)。
所以綜上,目前還沒(méi)找到比較完美的可以在手機(jī)上使用手柄進(jìn)行RMMV游戲的解決方案


Q:如果移植多個(gè)游戲,游戲本體文件夾都叫www,會(huì)不會(huì)沖突?
A:會(huì)沖突。解決方案就是可以將www目錄改成任意英文名(不要有空格),改名不會(huì)影響游戲運(yùn)行。

Q:游戲存檔在哪,會(huì)不會(huì)丟失?
A:游戲存檔存在Koder內(nèi)置瀏覽器的LocalStorage中。只要不清除Koder這個(gè)應(yīng)用的應(yīng)用緩存,存檔就不會(huì)丟失。

Q:為什么多個(gè)游戲的情況下,不同游戲的存檔會(huì)混在一起
A:由于存檔是保存在瀏覽器的LocalStorage中。LocalStorage的空間是按照域名及端口來(lái)劃分的。不同游戲的url不同,但皆在 http://localhost:9898 這個(gè)地址下,所以不同游戲的存檔就混在了一起。但是這并不影響正常游戲,A游戲的存檔并不能在B游戲中打開(kāi)。


Q:感覺(jué)游戲畫(huà)面太小了,有沒(méi)有方法變大?
A:可以在將手機(jī)的豎屏鎖定取消,橫過(guò)來(lái)后再打開(kāi)index.html的預(yù)覽,畫(huà)面會(huì)顯示比較大一些。感覺(jué)反而變小了啊丟!
