命令行互動界面 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.namebuild.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.namebuild.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>

將當前項目設置為指定項目。該命令會項目目錄改為啟動器當前選中的目錄。

只有未運行啟動器時,此命令才會生效。