必要な変数を用意
options.rpy
default ask = ""
default conf = conf1
define conf1 = _("☐次回からこの画面を表示しない")
define conf2 = _("☑次回からこの画面を表示しない")
define conf3 = ("persistent.ask_save","persistent.ask_del","persistent.ask_load","persistent.ask_title")
confirmを使用するボタンにactionを追加
screens_saveload.rpy
screen file_slots(title):
(省略)
button:
(省略)
action [SetVariable("ask", "persistent.ask_load"),FileLoad(slot, confirm=persistent.ask_load)]
(省略)
action [SetVariable("ask", "persistent.ask_save"),FileSave(slot, confirm=persistent.ask_save)]
(省略)
action [SetVariable("ask", "persistent.ask_del"),FileDelete(slot, confirm=persistent.ask_del)]
(省略)
screens.rpy
screen navigation():
(省略)
textbutton _("タイトル") action [SetVariable("ask", "persistent.ask_title"),MainMenu(confirm=persistent.ask_title)]
confirmのコードを変更
screen confirm(message, yes_action, no_action):
modal True
zorder 200
layer "confirm"
style_prefix "confirm"
add "conf_background"
dismiss action [If(conf==conf2,true=SetVariable(ask, False), false=SetVariable("ask", "")),SetVariable("conf", conf1), SetVariable("ask", ""),no_action]
key "game_menu" action [If(conf==conf2,true=SetVariable(ask, False), false=SetVariable("ask", "")),SetVariable("conf", conf1), SetVariable("ask", ""),no_action]
frame at conf_appear:
vbox:
xalign .5
yalign .5
spacing 30
label _(message):
style "confirm_prompt"
xalign 0.5
hbox:
xalign 0.5
spacing 50
if "quitload" in ask:
textbutton _("Yes") action [If(conf==conf2,true=SetVariable(ask, 2), false=SetVariable("ask", "")),SetVariable("conf", conf1), SetVariable("ask", ""),yes_action] background "color2" hover_background "color4"
textbutton _("No!") action [If(conf==conf2,true=SetVariable(ask, 2), false=SetVariable("ask", "")),SetVariable("conf", conf1), SetVariable("ask", ""),no_action]
else:
textbutton _("Yes") action [If(conf==conf2,true=SetVariable(ask, False), false=SetVariable("ask", "")),SetVariable("conf", conf1), SetVariable("ask", ""),yes_action] background "color2" hover_background "color4"
textbutton _("No!") action [If(conf==conf2,true=SetVariable(ask, False), false=SetVariable("ask", "")),SetVariable("conf", conf1), SetVariable("ask", ""),no_action]
if ("save" in ask and persistent.ask_save == True) or ("del" in ask and persistent.ask_del == True) or ("load" in ask and persistent.ask_load == True) or ("title" in ask and persistent.ask_title == True) or ("quitload" in ask and persistent.quitload > 0):
textbutton "[conf]":
style_prefix "confirm2"
action [ToggleVariable("conf", true_value=conf2,false_value=conf1)]