結構ややこしいので、Ren’Pyのテキストウィンドウ表示非表示がどう決まるかを解説します。
Ren’Pyのウィンドウ管理はwindow show, hide, auto のステートメントと”show empty window”の設定により行なわれます。
window hide
e "window hideに設定されるとsayステートメント以外ではウィンドウが表示されません。"
window show
show bg whitehouse
with dissolve #非表示
pause #非表示
""
window hide を実行するとその後sayステートメント以外のステートメントではウィンドウが表示されません。これがデフォルトの状態です。また、window hide dissolveとするとウィンドウ非表示時にそのトランジションが使われます。
window show
e "window showに設定されるとsayステートメント以外でもウィンドウが表示されます。"
window show
show bg whitehouse
with dissolve #表示
pause #表示
""
window show を実行するとその後sayステートメント以外のすべてのステートメントでウィンドウが表示されるようになります。また、window show dissolveとするとウィンドウ表示時にそのトランジションが使われます。
window auto
window hide
e "window autoではウィンドウを自動管理してくれます。"
window auto
show bg whitehouse
with dissolve #非表示
"A"
pause #表示
"B"
scene bg washington
with dissolve #非表示
""
window auto を実行するとその後設定に従ってウィンドウを自動管理してくれます。config.window_auto_show(デフォルトで[ ‘say’ ])に設定されたステートメント前でwindow show を、config.window_auto_hide(デフォルトで[ ‘scene’ ])に設定されたステートメント前でwindow hideを実行します。つまり上の例文は以下と同じです。
window hide
e "window autoではウィンドウを自動管理してくれます。"
show bg whitehouse
with dissolve #非表示
window show
"A"
pause #表示
"B"
window hide
scene bg washington
with dissolve #非表示
window show
""
これによりsceneによる場面切り替えではウィンドウを非表示し、showによる立ち絵の切り替え等ではウィンドウを表示したままにするということが自動で出来ます。
Preference “show empty window”の設定はこれらのステートメントに影響を与えます。
Preference(“show empty window”, “show”)()を実行すると説明したとおり動作しますが、Preference(“show empty window”, “hide”)()を実行すると常にwindow hideが有効な状態になります。設定画面に置いておけばユーザーが好きな方が選べます。