最初のテンプレートにあるヘルプ画面はタブ形式になっています。
はじめてのコピペUI改造として向いているいい画面です。
しかし使われている変数が普通の変数のため、
ここに後日談の部屋や回想部屋を入れる場合、
見終わると毎回最初のタブに戻されてしまいます。
今回はその変数をpersistent変数に変更して
以前開いたタブを記憶する仕組みにします。
1.persistent変数を作る
default persistent.help_navi = "sousa"
最初に表示したい画面の文字を設定します。
わかりやすくするためにscreen名に似た文字を設定していますが、
後述の内容に沿っていれば特に問題はありません。
2. screen helpのコードを改造する
screen help(): use game_menu(_("Help"), scroll="viewport"): hbox: if persistent.help_navi == "sousa": use sousa_help elif persistent.help_navi == "readme": use readme_help elif persistent.help_navi == "log": use log_help elif persistent.help_navi == "credit": use credit_help elif persistent.help_navi == "warn": use warn_help hbox: xalign 0.5 yalign 1.0 hbox: style_prefix "navigation2" spacing 5 textbutton _("はじめに"): action SetVariable("persistent.help_navi", "readme") textbutton _("操作方法"): action SetVariable("persistent.help_navi", "sousa") textbutton _("クレジット"): action SetVariable("persistent.help_navi", "credit") textbutton _("注意免責事項"): action SetVariable("persistent.help_navi", "warn") textbutton _("更新履歴"): action SetVariable("persistent.help_navi", "log") screen sousa_help(): (省略)
deviceの変数を削除し、SetScreenVariableからSetVariableにしています。
テキストボタン部分のレイアウトは自作ゲーム用に変更しているので、
そのまま使うとおかしくなるかもしれません。適宜変更おねがいします……