集成文本編輯器 link
Ren’Py允許用戶從啟動器(launcher)載入一個文本編輯器編輯遊戲腳本,同時也使用這個文本編輯器向用戶匯報錯誤。 必要的話用戶可以訂製自己的文本編輯器。
通過在.edit.py文件中創建一個Editor類,就可以訂製編輯器了。這個類包含了管理文本編輯的方法。
直接運行時,Ren’Py首先根據環境變數RENPY_EDIT_PY找到使用的.edit.py文件。 如果成功找到.edit.py文件,Ren’Py就使用文件中定義的Editor類。如果沒有找到那個文件,Ren’Py會使用一個內建的editor類,以系統指定方式啟動編輯器。
當Ren’Py的啟動器運行時,它會掃描項目目錄的子目錄和Ren’Py目錄以尋找格式為 name.edit.py的文件。 (例如,它會找到launcher/jEdit.edit.py和myeditor/MyEditor.edit.py。)帶有給定 name 的最後一個編輯器,會作為啟動器的一部分展現給創作者。 啟動器也設置環境變數RENPY_EDIT_PY來選擇文件,這樣使用啟動器啟動的遊戲也會使用選用的編輯器。
編寫.edit.py文件 link
.edit.py文件是一個Python(而不是Ren’Py)文件,文件中必須定義唯一的類,名為Editor。Ren’Py調用這個類的方法實現對文本的編輯。
編輯器事務(transaction)將相關操作分組,編輯器通過事務(transaction)進行編輯。例如,如果某個編輯器事務申請一個新窗口,那個事務中的所有文件都應該在同一個新窗口中打開。編輯器事務透過調用begin方法啟動,可以包含一個或多個對operation方法的調用,透過調用end方法結束。
edit.py文件應導入renpy.editor,Editor類應繼承renpy.editor.Editor。額外的關鍵字入參傳入類的方法時,你定義的方法應忽略那些未知參數。由於假設你需要自訂Editor類,我們就在所有方法中都添加了 self 參數。