擬似メニューバーコミメカ3版消去型の改造例です。
パート途中で背景・立ち絵・音楽を変える時はもう一工夫必要。
パート内の最初・最後の文章を表示する時に
「≪」「≫」の片方のみ消すことも可能。
通常プレイで表示する文章以上には進ませないことも可能。
読み返し、または読み進みの後、ボタンクリックで通常プレイ表示文章まで
戻ったら読み返しを自動解除することも可能。
通常プレイ中は「≫」を表示せず、読み返し中だけ表示することも可能。


変数一覧

数値変数[スキップ]
 擬似メニューバー3版消去型とは少し違います。
0…通常プレイ
1…通常プレイ+メニューバー表示
2…既読スキップ中 通常プレイ時の最高既読箇所で自動停止。
3…読み返し表示中 読み進み可。
4…メニューに戻る
5…メニューに戻らない

数値変数[表示]:枠内に表示する文章番号。

数値変数[判断]:通常プレイで枠内に表示する文章番号。

数値変数[既読]:パート別既読数。

文字列変数{パート}:パート名。
 例えば「 隣に座る白髪の老人が笑う。」は「村へ」パートの文章3。
 数値変数に変更可。

文字列変数{文章}:表示する文章内容。


通常プレイ+αの流れ

メニューダイナミックレイヤーの消去:ID0
ダイナミックレイヤーの消去:ID900
ダイナミックレイヤーの消去:ID909
レイヤー制御:〈本文〉非表示
レイヤー制御:〈フレーム〉非表示
{パート}:(空白)
{文章}:(空白)
ダイナミックレイヤー:移動『スタートブック』「村へ」
〔クリッカブル領域をクリックされるまで待つ〕
村へ[スキップ]←0 通常プレイの印
[判断]←0 「既読」に後述
[表示]←1 文章1から表示し始める
{パート}:村へ パートを指定
ダイナミックレイヤーの消去:ID 0
ダイナミックレイヤーの消去:ID 900
メッセージ表示:(空白)
レイヤー制御:〈本文〉表示
レイヤー制御:〈フレーム〉表示
サブルーチンコール『bar3』「bar0」 “ボタン表示”を表示する
移動『スタートブック』「村へ-」
村へ-IF[表示]=1 文章1の内容を{文章}に入れる
 {文章}:〜〜〜
END
………
移動『bar3』「既読」
既読IF[スキップ]=3 読み返し中
 『bar3』「表示」に移動 既読判断をしない
END
[判断]←[判断]+1
初プレイ時、↓で既読数1を保存したい。
なので「村へ」で[判断]←0にして、↑で[判断]=1にする。

IF{パート}=村へ
 セーブファイルの「村へ」から読み込み、「%既読%」に代入する
END
………
IF[既読]>[判断] これから見ようとしている文章は既読。
 移動『bar3』「表示」 ↓で既読数を保存する必要無し
END
[スキップ]←0
↑のIFで引っ掛からなかった=未読or最高既読箇所
既読スキップ中([既読]=2)を自動解除、通常プレイ([既読]=0)に変更

ダイナミックレイヤーの消去:ID0 既読スキップ中のダイナミックレイヤーを自動消去
IF{パート}=村へ
 セーブファイルの「村へ」に「%判断%」を書き込む 既読数保存
END
………
移動『bar3』「表示」
表示IF[スキップ]=3
 メッセージ表示:<B><clYellow>$文章$ 読み返し中の表示
ELSE
 メッセージ表示:<B><clWhite>$文章$ 通常プレイor既読スキップ中の表示
IF[スキップ]=2
 しばらく待つ ○秒経過するか、クリックカブル領域をクリックされるまで待つ
 移動『bar3』「通常」 既読スキップ続行。次の文章に進む
END
移動『bar3』「待機」
待機マウスクリックされるまで待つ ここで、[スキップ]=0or1or3
↑解除…[スキップ]=0or1or元1今2or3or4or5
IF[スキップ]=4
 移動「メニュー」 メニューに戻りますか? はい
END
IF[スキップ]=5 メニューに戻りますか? いいえ メニューバー表示中。
 [スキップ]←1  メニューバーを表示したままもう1度待機。
 移動『bar3』「待機」
END
IF[スキップ]≠0 [スキップ]=1or元1今2or3
 サブルーチンコール『bar3』「bar0」 メニューバー消去&“ボタン表示”表示
END
IF[スキップ]=1 メニューバー表示中だったが↑で消去
 [スキップ]=0
END
IF[スキップ]≠3 [スキップ]=0or元1今0or元1今2
 移動『bar3』「通常」 次の文章に進む
END
[スキップ]←0 [スキップ]=3→0 読み返し終了
[表示]←[判断] 通常プレイで枠内に表示していた文章をもう一度表示する
[判断]←[判断]−1
通常プレイでは、「既読」直前は[表示]=[判断]+1になっている。
「パート別」→「村へ-」→「既読」になる前にこれを再現。

移動『bar3』「パート別」

IF[スキップ]≠3で「通常」へ移動したとして以下続けます。
通常[スキップ]=0or2
[表示]←[表示]+1 次の文章に進む
移動『bar3』「パート別」
パート別IF[表示]=0 [表示]=0になるのは読み返し中だけ。
 [表示]←1 それ以上前は無いので文章1の表示を続行&もう1度待機
 移動『bar3』「待機」
END
IF{パート}=村へ
 IF[表示]≦19 「村へ」パートの文章は19まで。
  移動「村へ-」
 END
 IF[スキップ]≠3 通常プレイ中or既読スキップ中 &「村へ」パート終了
  移動「ユネ」 次のパートへ
 END
END
IF〜………END
ここにいるということは、読み返し中&パートの最後まで来てこれ以上進めない。
[表示]←[表示]−1 パート最後の表示を続行&もう1度待機
移動『bar3』「待機」

通常プレイだけの流れ

村へ-IF[表示]=1
 {文章}:〜〜〜
END
………
移動『bar3』「既読」
既読………
[判断]←[判断]+1
IF{パート}=村へ
 セーブファイルの「村へ」から読み込み、「%既読%」に代入する
END
………
IF[既読]>[判断]
 移動『bar3』「表示」
END
[スキップ]←0
ダイナミックレイヤーの消去:ID0
IF{パート}=村へ
 セーブファイルの「村へ」に「%判断%」を書き込む
END
………
移動『bar3』「表示」
表示IF[スキップ]=3
 ………
ELSE
 メッセージ表示:<B><clWhite>$文章$
………
移動『bar3』「待機」
待機マウスクリックされるまで待つ
………
IF[スキップ]≠3
 移動『bar3』「通常」
END
………
通常[表示]←[表示]+1
移動『bar3』「パート別」
パート別………
IF{パート}=村へ
 IF[表示]≦19
  移動「村へ-」
 END
 IF[スキップ]≠3 「村へ」パート終了
  移動「ユネ」 次のパートへ
 END
END
………

既読スキップの流れ

待機マウスクリックされるまで待つ
(メニューバーのSKIPをクリック)
スキップダイナミックレイヤー 移動「停止」
[スキップ]←2
サブルーチンから復帰
………
IF[スキップ]≠0
 サブルーチンコール『bar3』「bar0」
END
………
IF[スキップ]≠3
 移動『bar3』「通常」
END
………
通常[表示]←[表示]+1
移動『bar3』「パート別」
パート別………
IF{パート}=村へ
 IF[表示]≦19
  移動「村へ-」
 END
 ………
 END
END
………
村へ-IF[表示]=1
 {文章}:〜〜〜
END
………
移動『bar3』「既読」
既読………
[判断]←[判断]+1
IF{パート}=村へ
 セーブファイルの「村へ」から読み込み、「%既読%」に代入する
END
………
IF[既読]>[判断]
 移動『bar3』「表示」
END
………
表示IF[スキップ]=3
 ………
ELSE
 メッセージ表示:<B><clWhite>$文章$
IF[スキップ]=2
 しばらく待つ ○秒経過するか、クリックカブル領域をクリックされるまで待つ
 移動『bar3』「通常」
END
………

読み返し
メニューバー表示中、「≪」または「≫」をクリック。
[表示]←[表示]−1 または [表示]←[表示]+1
現在表示しているより前、または後の文章を表示するようにする。
「bar2」で、通常プレイ+メニューバー表示中[スキップ]=1から読み返しに移るなら、「≪」「≫」以外は消去して[スキップ]=3に。
読み返し中で引き続き読み返すなら、そのまま。
「パート別」から各パートに移動し、新たに表示する文章を{文章}に入れる。
「既読」の頭から「表示」に移動。
読み返し中用のメッセージ表示で文章を表示する。「待機」に移動。
マウスクリックを待つ。
この時「≪」「≫」をクリックしたら、更に読み返す。
他をクリックしたら、読み返し解除。
更に読み返していて、パートの最初より前に進もうとしたら、[表示]←1に。
パートの最後より後に進もうとしたら、[表示]←[表示]−1に。



桜のとなり下で。遊戯出張所 濃崎真矢