Ren'Py 中文空間 Logo 8.3.4/7.8.4 說明文件首頁

起步

  • 快速入門
  • GUI(圖形用戶介面)訂製化指導

Ren'Py語言

  • 程式語言基礎
  • 腳本標籤(label)和主控流程
  • 對話(dialogue)和旁白(narration)
  • 顯示圖像
  • 遊戲內菜單
    • 菜單集(menu set)
    • 菜單入參
  • Python語句
  • 條件語句
  • 音訊
  • 音訊濾波器
  • 影片
  • 語音

文本、可視組件、變換和轉場

  • 文本
  • 多語言支持
  • 可視組件
  • 變換
  • 變換特性
  • 轉場(transition)
  • Matrixcolor
  • 層疊式圖像
  • 3D舞台
  • Live2D Cubism

訂製化Ren'Py

  • 樣式(style)
  • 樣式特性(property)
  • 界面和界面語言
  • 界面行為(action)、值(value)和函數
  • 特殊界面名稱
  • 界面語言最佳化
  • 配置項變數
  • 環境設定配置
  • 儲存區配置項
  • 訂製滑鼠游標
  • 硬體滑鼠游標
  • 可視組件滑鼠游標
  • 使用滑鼠游標
  • 文本著色器

工具

  • 啟動器
  • 開發者工具
  • 互動式編導器(interactive director)

其他功能

  • NVL模式教學
  • 氣泡式台詞
  • 文本輸入
  • 頭像
  • 畫廊、音樂空間和場景重播
  • 拖放組件
  • 精靈(sprite)
  • 訂製按鍵映射
  • 成就
  • Steamworks API
  • 對話歷史
  • 多角色對話
  • 啟動界面和載入等待
  • Ren’Py遊戲的生命週期(lifecycle)

Python和Ren'Py

  • 等效語句
  • 存檔、讀檔和回滾
  • 持久化數據
  • 高級GUI
  • 界面與Python
  • 創作者定義的可視組件
  • 創作者定義的語句
  • 訂製文本標籤
  • 角色回調函數
  • 文件讀寫
  • Color類
  • Matrix
  • 基於模型的渲染器
  • 其他函數和配置變數
  • _ren.py 文件——Python中的Ren’Py
  • fetch形式的HTTPS/HTTP請求
  • 截圖

生成分發版、更新和其他平台

  • 構建發行版
  • 安卓(Android)
  • iOS
  • Web / HTML5
  • Chrome OS/Chrome瀏覽器
  • 樹莓派
  • 程序內購
  • HTTPS/HTTP更新器
  • 手機端下載大容量遊戲
  • 手勢

終端用戶文件

  • 安全問題
  • 處理故障
  • 環境變數
  • 自動語音

庫和開發工具文件

  • 項目模板
  • 命令行互動界面

引擎開發者文件

  • 集成文本編輯器
  • 皮膚
  • Ren’Py多語言支持

變更、許可和製作人員

  • 變更日誌(Ren’Py 7.x-)
  • 變更日誌 (Ren’Py 6.11 - 6.99)
  • 不相容的變更
  • 許可證
  • 製作人員
  • Ren’Py開發贊助者
Ren'Py Visual Novel Engine
  • 遊戲內菜單
  • 文件捉蟲

遊戲內菜單 link

在許多視覺系小說中,用戶會在被要求為故事情節的走向做出選擇。Ren’Py腳本語言中包含了menu語句,使得向用戶展現選項十分容易。

這裡有個menu語句的樣例:

menu:
     "我應該幹嘛?"

     "喝咖啡":
         "我喝了咖啡,每一口都非常棒。"

     "喝茶":
         $ drank_tea = True

         "我喝了茶,並努力使講話不像發表政治聲明。"

     "跪拜禮":
         jump genuflect_ending

label after_menu:

     "喝完飲料後,開始繼續我的晨間時光。"

menu語句以關鍵字 menu 開頭。後面可能跟著一個腳本標籤(label)名,該文本標籤(label)下的語句塊可以被預處理為菜單選項。舉例如下:

menu drink_menu:
    ...

menu語句後面跟著一個縮進的語句塊(block)。該語句塊(block)可能包含一條 say語句,且必須包含至少一個菜單選項。若存在那條say語句,發言內容與菜單選項會同時在界面上顯示。

菜單選項。 菜單選項是用戶在遊戲內菜單中的可選項。菜單選項以一個字串開頭。該字串後面可能跟一個if分句。這個if分句增加了不同情況下的選項是否出現的功能。菜單選項以英文冒號結束,下面必須跟著一個Ren’Py語句塊。

當某個選項被選中,該選項下對應的語句塊(block)就會執行。執行到那個語句塊結尾時,會跳轉到menu語句結尾並執行之後的腳本。

if分句包含關鍵字 if ,後面跟著一個python表達式。只有當表達式為True時,該菜單選項才會顯示。例如下面的菜單中:

menu:
    "向左":
        ...
    "向右":
        ...
    "向前看" if drank_tea:
        ...

只有在“the drank_tea”變數為True時才顯示第三個選項。(不過,如果配置項 config.menu_include_disabled 被設置為True的話,這個選項會顯示為一個不可用的按鈕。)

如果所有菜單選項的條件判斷都沒有成立,將直接跳過該菜單,並執行後面的語句。

菜單集(menu set) link

menu語句後面可以使用一個set從句。set從句單獨占一行。 當menu後面存在set從句時,只有菜單集(menuset)中沒有的選項標題才會單獨顯示。 當某個選項被選中後,對應標題就可以添加到菜單集中。

帶if從句時,如果整個菜單中沒有任何一個可用的選項,就直接進入menu語句後面的腳本。

基於某些歷史原因,菜單集可以是一個set對象或者一個列表。

default menuset = set()

menu chapter_1_places:

    set menuset
    "我該去哪裡呢?"

    "去上課。":
        jump go_to_class

    "去酒吧。":
        jump go_to_bar

    "去監獄。":
        jump go_to_jail

label chapter_1_after_places:

    "這個週二真他媽該死!"

菜單入參 link

可以將入參傳給整個菜單,或者菜單內的某些選項。若要將入參傳給菜單,可以直接添加在menu語句中。 按順序傳入自訂的入參,使用逗號分隔。若要將入參傳給某個菜單選項,在 if 關鍵字或者冒號前面加入參內容。

menu ("jfk", screen="airport"):

    "伊利諾州,芝加哥" (200):
        jump chicago_trip

    "德克薩斯州,達拉斯" (150, sale=True):
        jump dallas_trip

    "阿肯色州,溫泉城" (300) if secret_unlocked:
        jump hot_springs_trip

除了 screen 入參選擇對應界面,nvl 入參選擇 NVL模式菜單,其他傳入菜單的入參會應用在界面上。 傳給菜單選項的入參會應用在菜單界面的所有元素。

詳見 選項界面 和 config.menu_arguments_callback。

Previous Next

Built with Sphinx using a theme provided by Read the Docs.