レビニアよ。今回は「基本システムで選択肢表示座標が自動で初期化されるのを無効にする」ということをするわ。
どういうことか、まずは仕様から順を追って説明するわね。
選択肢の表示位置は変更することができる
イベントコマンド「選択肢」は表示する座標を自由に変えられる、ということをご存知かしら?
選択肢の位置はシステム変数「3:選択肢ウィンドウ X座標」と「4:選択肢ウィンドウ Y座標」で指定されているの。だから、
「文章の表示」と「選択肢」は同時に実行できる
また、ウディタのもう一つの仕様として「文章と選択肢は両方同時に実行することができる」というものがあるわ。
「文章の表示」コマンドの直後に「選択肢」コマンドを記述すると、
このように、文章が表示されたままで選択肢が表示され操作することができるの。選択肢の説明を文章で同時に見せることができるから、知っていると結構便利ね。
ただし、この「文章と選択肢を同時に表示する」ということをする場合のみ、ちょっと問題が起きてしまうの。
「文章の表示」を実行すると選択肢の座標が初期化されてしまう
どんな問題かというと、「文章の表示」コマンドを実行すると変更したはずの選択肢の座標が初期化されてしまうのよ。
このように選択肢の座標を変数操作で変更していても、「文章の表示」コマンドを挟んでしまうと、
変更したはずの選択肢座標がデフォルト位置(中央付近)に戻ってしまうわ。
つまりこのウディタ基本システムの仕様によって、「文章と選択肢を同時に実行したい場合は、選択肢の座標を変更することができない」のね。
※もちろん「文章の表示」の後に変数操作を入れれば選択肢の座標を変えることは可能よ。でもその場合、文章と同時に表示することはできないわ(選択肢の表示前に文章が消えてしまう)。
前置きが長くなったわね。つまり、この問題を解決してみよう(選択肢の座標変更を維持したまま文章表示と同時に実行できるようにしよう)というのが、今回の解説なのよ。
「063:X[共]メッセージウィンドウ」を修正して選択肢座標の初期化を無効にする
そもそも、基本システムにおいてこの「選択肢座標の初期化」を行っているのはどの処理なのかというと、
この「063:X[共]メッセージウィンドウ」コモンなのよ。これは文章表示の時にウィンドウなどを表示させている並列実行のコモンなのだけど、この通り55行目あたりに選択肢座標のシステム変数を初期化している部分があるわ。
このコモンは「文章の表示」コマンドに反応して実行されるようになっているわ。だから文章を表示するたびに選択肢座標が初期化されてしまうのね。
となれば対処はカンタンよね。この選択肢座標を初期化している部分を実行されないようにしてしまえばいいわ。0回ループでくくってしまいましょう。
この状態でもう一度、選択肢座標の変更と文章表示との同時実行を試してみると、
このとおり、文章と同時に表示する場合でも選択肢の座標変更が有効になるわ。
※こんなふうに、メッセージウィンドウの中に選択肢を表示することもできるのよ。
当然だけどこれをしてしまうと、選択肢の座標が自動で初期化されなくなってしまうわよね。もし初期化したい場合は、
システム変数は「-1」を入力すると初期値に戻るという特徴があるの。だから変数操作でシステム変数に「-1」を入力すれば、
以上、基本システムでの選択肢座標の自動初期化を無効にする方法の解説でした。選択肢位置の調整で困っているようなら試してみてね。