命令行互動界面 link
Ren’Py包含一個命令行互動界面(CLI),可用於自動處理某些開發任務,允許持續集成和腳本打包。 但對於大多數需求,都不必用到CLI——Ren’Py啟動器就可以完成大部分任務。
本頁文件中的例子,都假設創作者在Ren’Py SDK目錄下運行CLI(即包含renpy.py、renpy.sh和renpy.exe的目錄)。
同時也假設運行的操作系統為Linux或macOS。在Windows操作系統上,需要將執行命令中的 ./renpy.sh
替換為 lib\\py3-windows-x86_64\\python.exe renpy.py
。
CLI目前還不穩定。不同版本Ren’Py的CLI可能會有很大差異。
- <base>
在後續的命令中,<base>表示項目根目錄。
生成命令 link
Note
作為生成流程的一部分,Ren’Py會創建包含遊戲載入資訊的 .rpyc 文件。 一個持續集成系統應該在生成完成後保留這些 .rpyc 文件,在下個生成中直接應用這些文件,或移動到old-game目錄裡。 不這樣做可能會導致遊戲無法讀檔。
生成安卓版本 link
./renpy.sh launcher android_build <base> [ options... ]
以上命令會生成一個遊戲的安卓版本。前提是啟動器已經安裝了安卓SDK,生成了金鑰併合理配置過整個項目。
- --destination <directory> link
輸出目錄。默認目錄為當前目錄下名為 “name-version-dists” 的子目錄。 版本號version從
build.name
和build.version
獲取。
- --bundle link
使用該選項後,Ren’Py會生成一個 .aab 包。如果不使用該選項,Ren’Py會生成 .apk 文件。
- --install link
使用該選項後,Ren’Py會在連接設備上直接安裝 .apk 或 .aab 文件。
- --launch link
使用該選項後,Ren’Py會在連接設備上運行遊戲。該選項會與
--install
一起使用。
在call語句結尾追加from從句 link
./renpy.sh <base> add_from
該命令會在遍歷每個不包含 from
從句的 call
語句,並自動添加一個 from
從句。
一般情況下,這步應該在生成正式版(release版)之前完成。這會修改遊戲程序,以幫助Ren’Py準確定位到每個call語句的返回點。
Note
該命令不會修改創作者寫的遊戲腳本文件,僅在遊戲程序層面有變化。
使用Lint檢查腳本 link
./renpy.sh <base> lint [ filename ] [ options... ]
該命令會使用lint檢查遊戲。與啟動器中的“使用Lint檢查腳本”按鈕效果相同。
- filename link
指定輸出檔案名。lint會將報告輸出至該文件,而不是列印為標準輸出。
lint可能會用到很多選項,且各個版本的lint會有一些差異。需要查看各選項的實際用途,請運行:
./renpy.sh <base> lint --help
編譯 link
./renpy.sh <base> compile [ --keep-orphan-rpyc ]
該命令會根據 .rpy 文件創建 .rpyc 文件,編譯整個遊戲。 與Ren’Py啟動器的“強制重新編譯”按鈕效果相同。
- --keep-orphan-rpyc link
默認情況下,Ren’Py會遍歷 .rpyc 文件。如果某些文件不存在同名的 .rpy 或 _ren.py 文件,則會刪除對應的 .rpyc 文件。 如果啟用該選項,Ren’Py會保留所有 .rpyc 文件。
構建 link
./renpy.sh launcher distribute <base> [ options... ]
該命令會構建遊戲在不同操作系統的發行版。該命令能使用的選項如下:
- --destination <directory> link
指定構建目錄。默認目錄為當前所在目錄下,名為“name-version-dists”的子目錄。 版本號version從
build.name
和build.version
獲取。
- --no-update link
如果使用該選項,Ren’Py不會生成更新用文件。
- --package <package> link
指定打包類型,package參數可以是“pc”、“mac”或“markets”。該選項可以有多個參數,依次生成不同類型的打包文件。 默認則會生成所有類型的打包文件。
(還有一些其他選項,但主要是用來生成Ren’Py自身的。)
生成iOS版本 link
./renpy.sh launcher ios_create <base> <destination>
該命令會創建一個Xcode項目。此Xcode項目可以用來生成遊戲的iOS版本。此命令執行前需要在啟動器上安裝iOS的相關支持。
- destination link
指定Xcode項目放置的目錄。
iOS遷移 link
./renpy.sh launcher ios_populate <base> <destination>
該命令會將遊戲複製到某個使用 ios_create 生成的Xcode項目。 在使用相同Ren’Py版本的前提下,該命令可用於項目更新。
- destination link
指定待更新的項目目錄。
更新老遊戲 link
./renpy.sh launcher update_old_game <base>
該命令會將 <base>/game 目錄下的 .cpyc 文件複製到 <base>/old-game 目錄。
生成Web版本 link
./renpy.sh launcher web_build <base> [ options... ]
該命令會生成一個遊戲的Web發布版。
此命令執行前需要在啟動器上安裝web的相關支持,並且所有配置文件(例如 progressive_download.txt
)都已放在合適位置。
- --destination <directory> link
指定Web版根目錄位置。
啟動器命令 link
這些命令可用於在CLI中控制Ren’Py啟動器。
設置項目目錄 link
./renpy.sh launcher set_projects_directory <directory>
該命令用於設置Ren’Py啟動器儲存項目的目錄。 It’s intended for use on minimal systems where none of the options for selecting a projects directory are available.
只有未運行啟動器時,此命令才會生效。
設置項目 link
./renpy.sh launcher set_project <base>
將當前項目設置為指定項目。該命令會項目目錄改為啟動器當前選中的目錄。
只有未運行啟動器時,此命令才會生效。