吉里吉里プロフェッショナル版

Home>未分類>吉里吉里プロフェッショナル版

吉里吉里プロフェッショナル版

1.概要

このページでは、吉里吉里ヒント集で紹介した
「吉里吉里プロフェッショナル版」の実装手順が示されています。

 

2.目次

  1. 概要
  2. 目次
  3. 利用規約
  4. 謝辞
  5. プロフェッショナル版
    1. サンプル一覧
    2. 簡易メニュー
    3. 文字のフェード表示
    4. ボイスシステム
    5. セーブ・ロード画面
  6. 更新履歴
 

3.利用規約

  • このページに記載されていることについては別に制約はかけませんので、ご自由にお使い下さいませ。
  • サポートなどは一切できませんし、質問なども答えられません。問題などが発生した場合、自力で解決できる方のみご利用下さいませ。
    なお、これらの追加機能はあやえも研究所が作成したものです。吉里吉里開発者のW.Dee氏にこれらの機能について直接問い合わせるのはご遠慮下さい。
  • 吉里吉里のKAGをマスターしていて、かつTJSを使える方のみを対象としています。どちらかというと中級者向けです。説明不足も多々ありますが、ご了承下さいませ。
  • 動作確認は、吉里吉里2 2.28安定版rev2のみで行っています。他のバージョンでは個別に動作確認して下さいませ。
 

5.謝辞

これらの追加機能ヒントを作成するにあたって、以下のサイトを参考にさせていただきました。
 

6.プロフェッショナル版

これらの機能は、CircleMebius製作「月下之煌(げっかのきらめき)」にて実装されているものを、さらにバージョンアップさせて洗練させたものです。


実際の製品としての動作実績がありますので、安心してご利用下さい。
体験版でどんな動作なのかご確認することもできます。

また、機能概要を説明したサンプルをご用意しています。
サンプルはこちらからダウンロードして下さい

初期状態の吉里吉里から導入したサンプルを入れています。
画像など、こちらからサイズやファイル名を参考にして、コピーしてお使い下さい。

なお、ソースの追加部分には全て”mebius”というコメントを入れていますので、初期状態からの変更部分はこの文字列を検索することですぐに発見できます。

6.1 サンプル一覧

以下に、サンプルの一覧を掲載しています。
解説もありますので、一度ご覧下さい。
総合サンプルに全ての解説が入っていますので、こちらが便利です。

また、画像など、こちらのサンプルをダウンロードして参考にして画像生成などをしていただければ、ファイル名などのミスもなくスムーズにできると思います。
内容 実行サンプル 画像・ボイスデータ
サンプル
総合サンプル
(下記全てを含みます)
ダウンロード ダウンロード
簡易メニューのみ ダウンロード ダウンロード
文字のフェード表示のみ ダウンロード
ボイスシステムのみ ダウンロード ダウンロード
セーブ・ロード画面のみ ダウンロード ダウンロード
 

6.2 簡易メニュー

機能

kirikiri_screenshot02
  • 簡易メニュー(下が命令、右が保存、左が設定、上がシステム)
  • マウスが指定領域内に入ったら表示、領域から出たら消去(常に表示・常に非表示も可能)
  • キーボード操作対応
  • ツールチップヒントの表示機能
  • 簡易メニュー内でスライダーの使用も可能
  • オートセーブ機能付き(オートセーブ内容は、新しい順に表示されます)
この簡易メニューは自信を持ってご提供できる機能ですので、是非お役立て下さい。

なお、特に制約を受けそうな制限は以下の通りです。
  • 現状では、オートセーブに対応した記述になっています。0~99のスロットまで(プレイ画面表記上では1~100まで)が通常の保存用スロットで、100~109まで(プレイ画面表記上では自動1~自動10まで)が自動保存用スロットです。
これについては修正は可能ですが、変数で一括に処理とかはしておらず、ソース中の条件値や値を一つ一つ修正していかなければなりません。なので、この項目を修正する場合は少々時間がかかる場合があります。(とはいえ、構造が分かれば数日ぐらいで修正できる程度だとは思いますが)

それでは、以下に実装方法を記します。

 

Config.tjsでの処理

  • サンプルでは「画面サイズ」は800×600を想定しています。もし違うサイズで実装する場合、個別に調整願います。(”800″とか”600″とかの文字列で検索すれば、修正箇所はすぐに見つかります)
  • メッセージレイヤの数を変更します。簡易メニューだけでも5枚のメッセージレイヤを用います。それに合うようにnumMessageLayersの数を増やします。
  • もし初期設定のままなら、「メッセージレイヤの色と不透明度」でframeOpacity
    = 0とします。でないと文字枠が出てしまいます。文字枠は全景レイヤーに用意するか、もしくはmessage0などに画像を指定し直して下さい。
  • セーブ画像を使う場合、サムネイルを保存するように設定しておきます。(saveThumbnail
    = trueに)
  • サムネイルの保存サイズも適切なものにします。デフォルトのサンプルのまま用いるのであれば、横118pixelで保存します。(thumbnailWidth
    = 118に)。大きさはどの数値でも問題ありませんので、適宜合うように調整して下さい。
  • サムネイルの画質をよくするため、サムネイル保存モードで、24ビットにしておきます。(thumbnailDepth
    = 24)
  • 利用可能な栞の数(numBookMarks)を適切な数値にしておきます。(ここでは110個と想定してます)
 

Mainwindow.tjs

まずは簡易メニューの変数定義を追加します。
Mainwindow.tjsのfunction KAGWindow()直前の変数定義に、以下の命令を追加します。
        var holdPeriodEventQueue = 
[]; // 保留にされたムービーのピリオドイベントキュー var isLeavePeriodEvent = false; // ムービーのピリオドイベントを保留にするかどうか var isWaitPeriodEvent = false; // ムービーのピリオドイベント待ち状態かどうか var waitedPeriodEventStorageName = void; // ピリオドイベント待ちをコールしたストレージ名 //↓--------------------------------------- ここから追加部分-- //mebius:変数追加分 var autosaveLoadedFlag = false; var timermove_qexec;//簡易メニュー表示用タイマー var timermove_qsave; var timermove_qconf; var timermove_qsys; var movemode_qexec = 0; var movemode_qsave = 0; var movemode_qconf = 0; var movemode_qsys = 0; var qmenuExec_LoadButton;//簡易メニューボタン var qmenuExec_SaveButton; var qmenuExec_ConfigButton; var qmenuExec_HistryButton; var qmenuExec_VoiceButton; var qmenuExec_SkipButton; var qmenuExec_AutoButton; var qmenuExec_EraseButton; var qmenuExec_MenuButton; var qmenuSave_UpButton; var qmenuSave_DownButton; var qmenuSave_EntryButton = []; var qmenuConfig_FullScrButton; var qmenuConfig_WindowButton; var qmenuConfig_2ndReadButton; var qmenuSystem_ReturnTopButton; var qmenuSystem_ExitButton; var qmenuLayer_Exec;//簡易メニューのレイヤナンバーを保持する変数 var qmenuLayer_Save; var qmenuLayer_Config; var qmenuLayer_System; var qmenuLayer_Hint; //↑--------------------------------------- ここまで追加部分-- //------------------------------------------------------ コンストラクタ -- function KAGWindow(ismain = true, width = 0, height = 0) { // コンストラクタ // 引数 : ismain : メインウィンドウとして作成されるのかどうか super.Window(); // 親クラスのコンストラクタを呼ぶ // コンフィギュレーション isMain = ismain; if(ismain) {
コンストラクタ内部に簡易メニューの部分を記述します。
function KAGWindow()の中に、以下の命令を追加します。
        //------------------------------------------------------ コンストラクタ --

        function KAGWindow(ismain = true, width = 0, height = 0)
        {
                // コンストラクタ
                // 引数 : ismain : メインウィンドウとして作成されるのかどうか
                super.Window(); // 親クラスのコンストラクタを呼ぶ

                // コンフィギュレーション

                // (中略)

                // ウィンドウサイズの調整
                if(width != 0 && height != 0)
                {
                        // 与えられたサイズを適用
                        scWidth = width;
                        scHeight = height;
                }
                setInnerSize(scWidth, scHeight);

                // quake 用タイマの作成
                quakeTimer = new Timer(onQuakeTimerInterval, '');
                add(quakeTimer);
                quakeTimer.interval = 50;

//↓--------------------------------------- ここから追加部分--
                //mebius:簡易メニュー用タイマー定義
                timermove_qexec = new Timer(onTimerMoveQExec, '');
                timermove_qexec.interval = 10;
                timermove_qexec.enabled = false;

                timermove_qsave = new Timer(onTimerMoveQSave, '');
                timermove_qsave.interval = 10;
                timermove_qsave.enabled = false;

                timermove_qconf = new Timer(onTimerMoveQConfig, '');
                timermove_qconf.interval = 10;
                timermove_qconf.enabled = false;

                timermove_qsys = new Timer(onTimerMoveQSystem, '');
                timermove_qsys.interval = 10;
                timermove_qsys.enabled = false;
//↑--------------------------------------- ここまで追加部分--

                // 背景レイヤの作成
                fore.messages = [];
                back.messages = [];
                fore.layers = [];
                back.layers = [];
                fore.base = new BaseLayer(this, null, "表-背景");
                add(fore.base);
                fore.base.setImageSize(scWidth, scHeight);
                fore.base.setSizeToImageSize();
                back.base = new BaseLayer(this, fore.base, "裏-背景");
                add(back.base);

セーブ時のサムネイルに、簡易メニューを入れないようにします。
function lockSnapshot()に、以下の命令を追加します。
        function lockSnapshot()
        {
                // スナップショットをロックする
                // 初めてスナップショットがロックされた時点での画面を保存する
                if(snapshotLockCount == 0)
                {
//↓--------------------------------------- ここから追加部分--
                        //mebius:簡易メニュー類はスナップショットから外す。
                        var mes2 = false;
                        var mes3 = false;
                        var mes4 = false;
                        var mes5 = false;
                        var mes6 = false;
                        var slider_object_show_temp = false;
//↑--------------------------------------- ここまで追加部分--

                        if(snapshotLayer === void)
                                snapshotLayer = new Layer(this, primaryLayer);
                        snapshotLayer.setImageSize(scWidth, scHeight);
                        snapshotLayer.face = dfAlpha;

//↓--------------------------------------- ここから追加部分--
                        //mebius:簡易メニュー類はスナップショットから外す。
                        if (kag.fore.messages[qmenuLayer_Exec].visible)
                        {
                                mes2 = true;
                                kag.fore.messages[qmenuLayer_Exec].visible = false;
                        }
                        if (kag.fore.messages[qmenuLayer_Save].visible)
                        {
                                mes3 = true;
                                kag.fore.messages[qmenuLayer_Save].visible = false;
                        }
                        if (kag.fore.messages[qmenuLayer_Config].visible)
                        {
                                mes4 = true;
                                kag.fore.messages[qmenuLayer_Config].visible = false;
                                if (slider_object.foreControlLayer.Sliders[0].visible)//簡易メニューのスライダーが表示中なら消去
                                {
                                        slider_object_show_temp = true;
                                        slider_object.setOptions(%[forevisible:false]);
                                }
                        }
                        if (kag.fore.messages[qmenuLayer_System].visible)
                        {
                                mes5 = true;
                                kag.fore.messages[qmenuLayer_System].visible = false;
                        }
                        if (kag.fore.messages[qmenuLayer_Hint].visible)
                        {
                                mes6 = true;
                                kag.fore.messages[qmenuLayer_Hint].visible = false;
                        }
//↑--------------------------------------- ここまで追加部分--

                        snapshotLayer.piledCopy(0, 0, kag.fore.base, 0, 0, scWidth, scHeight);

//↓--------------------------------------- ここから追加部分--
                        //mebius:簡易メニュー類はスナップショットから外す。
                        if (mes2)
                        {
                                kag.fore.messages[qmenuLayer_Exec].visible = true;
                        }
                        if (mes3)
                        {
                                kag.fore.messages[qmenuLayer_Save].visible = true;
                        }
                        if (mes4)
                        {
                                kag.fore.messages[qmenuLayer_Config].visible = true;
                                if (slider_object_show_temp)
                                        slider_object.setOptions(%[forevisible:true]);
                        }
                        if (mes5)
                        {
                                kag.fore.messages[qmenuLayer_System].visible = true;
                        }
                        if (mes6)
                        {
                                kag.fore.messages[qmenuLayer_Hint].visible = true;
                        }
//↑--------------------------------------- ここまで追加部分--

                }
                snapshotLockCount ++;
        }
オートセーブ機能に対応させておきます。
オートセーブ機能を使わない場合は、この部分は入れなくても大丈夫です。(入れておいても問題ありません)
function loadBookMark()、function saveBookMarkWithAsk()、function loadBookMarkWithAsk()に、以下の命令を追加します。
2箇所ほど、元々ある行の位置を変更する行(else文の中に入れる行)があるので注意して下さい。
        function loadBookMark(num, loaduser = true)
        {
                // 栞番号 num からデータを読み出す
//↓--------------------------------------- ここから追加部分--
                autosaveLoadedFlag = true;//mebius:オートセーブ読み込み直後に再び保存しない対策。
//↑--------------------------------------- ここまで追加部分--
                return loadBookMarkFromFile(getBookMarkFileNameAtNum(num), loaduser);
        }

//↓--------------------------------------- ここから追加部分--
        function saveBookMarkWithAsk(num,autoon,autostr)//mebius:引数追加(autoon,autostr)
//↑--------------------------------------- ここまで追加部分--
        {
                // 栞番号 num に栞を設定する
                // そのとき、設定するかどうかをたずねる
                if(readOnlyMode) return false;
                if(bookMarkProtectedStates[num]) return false;
                var prompt = "栞 ";
//↓--------------------------------------- ここから追加部分--
                //mebius:autoonがtrueならstrを番号として使う。
                if(autoon)
                        prompt += autostr;
                else
                        if(num < numBookMarks) prompt += (num+1);//元々あるこの行は、elseの中に入れます。
//↑--------------------------------------- ここまで追加部分--
                if(bookMarkDates[num] != "") // bookMarkDates が空文字の場合は栞は存在しない
                        prompt += "「" + bookMarkNames[num] + "」";
                prompt += "に「"+ pcflags.currentPageName + "」をはさみますか?";
                var result = askYesNo(prompt);
                if(result) return saveBookMark(num);
                return false;
        }

//↓--------------------------------------- ここから追加部分--
        function loadBookMarkWithAsk(num,autoon,autostr)//mebius:引数追加(autoon,autostr)
//↑--------------------------------------- ここまで追加部分--
        {
                // 栞番号 num から栞を読み出す
                // そのとき、読み出すかどうかをたずねる
                if(num < numBookMarks && bookMarkDates[num] == "") // bookMarkDates が空文字の場合は栞は存在しない
                        return false;
                var prompt = "栞 ";
//↓--------------------------------------- ここから追加部分--
                //mebius:autoonがtrueならstrを番号として使う。
                if(autoon)
                        prompt += autostr;
                else
                        if(num < numBookMarks) prompt += (num+1);//元々あるこの行は、elseの中に入れます。
//↑--------------------------------------- ここまで追加部分--
                prompt += "「"+ bookMarkNames[num] + "」をたどりますか?";
                var result = askYesNo(prompt);
                if(result) return loadBookMark(num);
                return false;
        }

マウスが該当エリアに入ったら、簡易メニューを表示する命令を追加します。
それぞれの座標は個別に修正して下さい。
ウィンドウモード(全画面表示でない)場合、簡易メニューを表示させたままマウスカーソルをウィンドウから外した場合、簡易メニューが表示されたままになります。そのため、上下左右の端に表示しない領域を少し確保しておく方がいいかと思います。
なお、座標(800,600)にマウスカーソルがある場合、何も表示しないように注意して下さい。理由は次のキーボード対応の項目の影響によるものです。
function onMouseDown(x, y)の後に、以下の命令を追加します。
        function onMouseDown(x, y)
        {
                lastMouseDownX = x;
                lastMouseDownY = y;
                super.onMouseDown(...);
        }

//↓--------------------------------------- ここから追加部分--
        //mebius:マウス移動時に簡易メニューの表示判定
        function onMouseMove(x, y, shift)
        {
                //マウスが簡易メニュー(下:命令)表示領域なら、簡易メニュー(下:命令)を表示する。
                if (sf.qmenu_exec_mode == 1 && f.qmenu_enabled)
                {
                        if (x > 160 && x < 725 && y > 565 && y < 600)
                                showQExecMenu('scroll');
                        else
                                hideQExecMenu('scroll');
                }

                //マウスが簡易メニュー(右:セーブ)表示領域なら、簡易メニュー(右:セーブ)を表示する。
                if (sf.qmenu_save_mode == 1 && f.qmenu_enabled)
                {
                        if (x > 760  && y > 5 && y < 553)
                        {
                                showQSaveMenu('scroll');
                        }
                        else 
                        {
                                hideQSaveMenu('scroll');
                        }
                }

                //マウスが簡易メニュー(左:設定)表示領域なら、簡易メニュー(左:設定)を表示する。
                if (sf.qmenu_config_mode == 1 && f.qmenu_enabled)
                {
                        if (x <130  && y > 5 && y < 440)
                        {
                                showQConfigMenu('scroll');
                        }
                        else 
                        {
                                hideQConfigMenu('scroll');
                        }
                }

                //マウスが簡易メニュー(上:システム)表示領域なら、簡易メニュー(上:システム)を表示する。
                if (sf.qmenu_system_mode == 1 && f.qmenu_enabled)
                {
                        if (x > 250 && x < 750 && y >= 0 && y < 25)
                                showQSystemMenu('scroll');
                        else
                                hideQSystemMenu('scroll');
                }

                super.onMouseMove(...);
        }
//↑--------------------------------------- ここまで追加部分--

        //------------------------------------------------------- キーボード操作 --

        function processKeys(key, shift)
        {
キーボード対応させます。
「移動表示」の場合、上下左右キーで各簡易メニューを表示します。
キャンセルはESCキーで、ESCキーを押すと座標(800,600)にマウスカーソルを移動させています。
function processKeys(key, shift)に、以下の命令を追加します。
        //------------------------------------------------------- キーボード操作 --

        function processKeys(key, shift)
        {
                if(checkProceedingKey(key, shift)) return;

                if(key == #'F')
                {
                        // 次の選択肢/未読まで進む
                        skipToNextStopByKey();
                        return;
                }

                // (中略)

                if(key == #'R' || (key == VK_UP && (shift & ssShift)))
                {
                        // メッセージ履歴を表示
                        showHistoryByKey();
                        return;
                }

//↓--------------------------------------- ここから追加部分--
                //mebius:キーボード対応。PageUP、PageDownで簡易メニューのページ変更。
                if(key == VK_PRIOR || key == VK_NEXT)
                {
                        //簡易セーブの場合、ページ変更
                        if (kag.fore.messages[qmenuLayer_Save].visible == true)
                        {
                                if (key == VK_PRIOR)
                                {
                                        if (sf.saveload_page == 0)
                                                sf.saveload_page = 10;
                                        else
                                                sf.saveload_page--;

                                        kag.redrawQSaveMenu();
                                }
                                else if (key == VK_NEXT)
                                {
                                        if (sf.saveload_page == 10)
                                                sf.saveload_page = 0;
                                        else
                                                sf.saveload_page++;

                                        kag.redrawQSaveMenu();
                                }
                                return;
                        }
                }
//↑--------------------------------------- ここまで追加部分--

                if(key == VK_ESCAPE)
                {
//↓--------------------------------------- ここから追加部分--
                        //mebius:キーボード対応
                        //簡易メニュー(下:命令)、簡易メニュー(右:セーブ)上なら非表示にする
                        if(f.qmenu_enabled && kag.fore.messages[qmenuLayer_Exec].visible == true && sf.qmenu_exec_mode > 0)
                        {
                                if (sf.qmenu_exec_mode == 2)
                                {
                                        kag.fore.base.setCursorPos(800,600);
                                        kag.focusedLayer = null;
                                        return;
                                }
                                else if (sf.qmenu_exec_mode == 1)
                                {
                                        hideQExecMenu('nowait');
                                        kag.fore.base.setCursorPos(800,600);
                                        kag.focusedLayer = null;
                                        return;
                                }
                        }
                        else if (f.qmenu_enabled && fore.messages[qmenuLayer_Save].visible == true)
                        {
                                if (sf.qmenu_save_mode == 2)
                                {
                                        kag.fore.base.setCursorPos(800,600);
                                        kag.focusedLayer = null;
                                        return;
                                }
                                else if (sf.qmenu_save_mode == 1)
                                {
                                        hideQSaveMenu('nowait');
                                        hideQMenuHint();
                                        kag.fore.base.setCursorPos(800,600);
                                        kag.focusedLayer = null;
                                        return;
                                }
                        }
                        else if (f.qmenu_enabled && fore.messages[qmenuLayer_Config].visible == true)
                        {
                                if (sf.qmenu_config_mode == 2)
                                {
                                        kag.fore.base.setCursorPos(800,600);
                                        kag.focusedLayer = null;
                                        return;
                                }
                                else if (sf.qmenu_config_mode == 1)
                                {
                                        hideQConfigMenu('nowait');
                                        hideQMenuHint();
                                        kag.fore.base.setCursorPos(800,600);
                                        kag.focusedLayer = null;
                                        return;
                                }
                        }
                        else if (f.qmenu_enabled && fore.messages[qmenuLayer_System].visible == true)
                        {
                                if (sf.qmenu_system_mode == 2)
                                {
                                        kag.fore.base.setCursorPos(800,600);
                                        kag.focusedLayer = null;
                                        return;
                                }
                                else if (sf.qmenu_system_mode == 1)
                                {
                                        hideQSystemMenu('nowait');
                                        hideQMenuHint();
                                        kag.fore.base.setCursorPos(800,600);
                                        kag.focusedLayer = null;
                                        return;
                                }
                        }
//↑--------------------------------------- ここまで追加部分--

                        // メッセージを消す
                        if(typeof this.rightClickMenuItem != "undefined" &&
                                rightClickMenuItem.enabled)
                        {
                                rightClickMenuItem.click(); // クリックをエミュレート
                                return;
                        }
                }

//↓--------------------------------------- ここから追加部分--
                //mebius:キーボード対応
                if(f.qmenu_enabled)
                {
                        if(key == VK_UP && fore.messages[qmenuLayer_System].visible == false)
                        {
                                if (sf.qmenu_system_mode == 1)
                                        showQSystemMenu('nowait');
                                return;
                        }
                        if(key == VK_LEFT && fore.messages[qmenuLayer_Config].visible == false)
                        {
                                if (sf.qmenu_config_mode == 1)
                                        showQConfigMenu('nowait');
                                return;
                        }
                        if(key == VK_DOWN && kag.fore.messages[qmenuLayer_Exec].visible == false)
                        {
                                if (sf.qmenu_exec_mode == 1)
                                        showQExecMenu('nowait');
                                return;
                        }
                        if(key == VK_RIGHT && fore.messages[qmenuLayer_Save].visible == false)
                        {
                                if (sf.qmenu_save_mode == 1)
                                        showQSaveMenu('nowait');
                                /*
                                if (qmenuSave_UpButton !== void)
                                {
                                        kag.focusedLayer = qmenuSave_UpButton;
                                        //kag.fore.base.setCursorPos(768,14);
                                        //qmenuSave_UpButton.focus();
                                        tf.qsavefocus = true;
                                }
                                */
                                return;
                        }
                }
//↑--------------------------------------- ここまで追加部分--

        }
マウスホイールに対応させます。
function onMouseWheel(shift, delta, x, y)に、以下の命令を追加します。
        function onMouseWheel(shift, delta, x, y)
        {
                // ホイールが回転した
                super.onMouseWheel(...);

//↓--------------------------------------- ここから追加部分--
                //mebius:マウスが簡易メニュー(右:セーブ)表示領域なら、ページ変更する。
                if (sf.qmenu_save_mode >= 1 && f.qmenu_enabled && fore.messages[qmenuLayer_Save].visible == true)
                {
                        if (x > 760  && y > 5 && y < 570)
                        {
                                if (delta > 0)
                                        upPageQSaveMenuClick();
                                else if (delta < 0)
                                        downPageQSaveMenuClick();
                        }
                        return;
                }
//↑--------------------------------------- ここまで追加部分--

                if(!historyLayer.visible)
                {
                        if(delta > 0)
                                showHistoryByKey(); // メッセージ履歴を表示
                        else if(System.getTickCount() - lastHistoryHiddenTick > 150) 
                                        onPrimaryClick(); // クリックをエミュレート
                        // ↑ tick を比較しているのは、メッセージ履歴を隠す操作とホイールを
                        // 手前に回す操作が連続した場合に勝手に読み進むのをある程度防ぐ仕掛け
                }
                else
                {
                        // メッセージ履歴にイベントを垂れ流す
                        historyLayer.windowMouseWheel(shift, delta, x, y);
                }
        }

簡易メニューの本体部分の命令です。
ここで各ボタンの座標や画像、処理方法などを記します。
個別に対応するように修正して下さい。
ボタンを押した後の処理も、個別に追加・修正して下さい。(function ~Click()という命令に記述します)
クイックセーブ・クイックロードボタンは入れていませんが、命令を参考にしてボタンを増やして、処理させればすぐにできると思います。

MainWindow.tjsの最後の方にある「タグハンドラ群の終わり」の後ぐらいに、以下の命令を追加します。
        waittrig : function(elm)
        {
                // トリガを待つ
                return waitTrigger(elm);
        } incontextof this,

        //----------------------------------------------- タグハンドラ群の終わり --

                interrupt : function(elm) { return -2; } incontextof this ];
        }

//↓--------------------------------------- ここから追加部分--
        //--------------------------------------- mebius:命令群 --
        //----簡易メニュー共通---------------------------------------------------------

        //簡易メニューのレイヤー定義
        function defineQMenuLayers()
        {
                //定義されたシステム変数から、メッセージレイヤナンバーを抜き出して保持します。
                var exec_layer = sf.qmenu_exec_layer;
                var save_layer = sf.qmenu_save_layer;
                var config_layer = sf.qmenu_config_layer;
                var system_layer = sf.qmenu_system_layer;
                var hint_layer = sf.qmenu_hint_layer;

                qmenuLayer_Exec = +exec_layer.substr(7);
                qmenuLayer_Save = +save_layer.substr(7);
                qmenuLayer_Config = +config_layer.substr(7);
                qmenuLayer_System = +system_layer.substr(7);
                qmenuLayer_Hint = +hint_layer.substr(7);
        }

        //----簡易メニュー(下:命令)---------------------------------------------------------

        //簡易メニュー(下:命令)を作成
        function makeQExecMenu(backmode)
        {
                var destlayer;
                if (backmode == 'back')
                        destlayer = back.messages[qmenuLayer_Exec];
                else
                        destlayer = fore.messages[qmenuLayer_Exec];

                destlayer.face = dfBoth;

                //読込ボタン
                if (qmenuExec_LoadButton === void)
                {
                        var qtxtElm = %[];

                        qtxtElm.graphic = "qmenu_exec01";
                        qtxtElm.hint = '';
                        qtxtElm.visible = true;
                        qtxtElm.onenter = "kag.makeQMenuHint(158,550,'  読込','qmenu_hint_base01')";
                        qtxtElm.onleave = "kag.hideQMenuHint()";
                        qtxtElm.exp = "kag.loadQExecMenuClick()";
                        qtxtElm.rc = "";
                        //qtxtElm.enterse ='';
                        //qtxtElm.entersebuf = '';
                        //qtxtElm.leavese = '';
                        //qtxtElm.leavesebuf = '';

                        qmenuExec_LoadButton = new LinkButtonLayer(this, destlayer);
                        qmenuExec_LoadButton.showFocusImage = false;

                        destlayer.locate(180,577);
                        destlayer.addButton(qtxtElm);
                }

                //保存ボタン
                if (qmenuExec_SaveButton === void)
                {
                        var qtxtElm = %[];

                        qtxtElm.graphic = "qmenu_exec02";
                        qtxtElm.hint = '';
                        qtxtElm.visible = true;
                        qtxtElm.onenter = "kag.makeQMenuHint(229,550,'  保存','qmenu_hint_base01')";
                        qtxtElm.onleave = "kag.hideQMenuHint()";
                        qtxtElm.exp = "kag.saveQExecMenuClick()";
                        qtxtElm.rc = "";
                        //qtxtElm.enterse ='';
                        //qtxtElm.entersebuf = '';
                        //qtxtElm.leavese = '';
                        //qtxtElm.leavesebuf = '';

                        qmenuExec_SaveButton = new LinkButtonLayer(this, destlayer);
                        qmenuExec_SaveButton.showFocusImage = false;

                        destlayer.locate(250,577);
                        destlayer.addButton(qtxtElm);
                }

                //設定ボタン
                if (qmenuExec_ConfigButton === void)
                {
                        var qtxtElm = %[];

                        qtxtElm.graphic = "qmenu_exec11";
                        qtxtElm.hint = '';
                        qtxtElm.visible = true;
                        qtxtElm.onenter = "kag.makeQMenuHint(388,550,'  設定','qmenu_hint_base01')";
                        qtxtElm.onleave = "kag.hideQMenuHint()";
                        qtxtElm.exp = "kag.configQExecMenuClick()";
                        qtxtElm.rc = "";
                        //qtxtElm.enterse ='';
                        //qtxtElm.entersebuf = '';
                        //qtxtElm.leavese = '';
                        //qtxtElm.leavesebuf = '';

                        qmenuExec_ConfigButton = new LinkButtonLayer(this, destlayer);
                        qmenuExec_ConfigButton.showFocusImage = false;

                        destlayer.locate(410,577);
                        destlayer.addButton(qtxtElm);
                }

                //履歴ボタン
                if (qmenuExec_HistryButton === void)
                {
                        var qtxtElm = %[];

                        qtxtElm.graphic = "qmenu_exec03";
                        qtxtElm.hint = '';
                        qtxtElm.visible = true;
                        qtxtElm.onenter = "kag.makeQMenuHint(448,550,'  履歴','qmenu_hint_base01')";
                        qtxtElm.onleave = "kag.hideQMenuHint()";
                        qtxtElm.exp = "kag.historyQExecMenuClick()";
                        qtxtElm.rc = "";
                        //qtxtElm.enterse ='';
                        //qtxtElm.entersebuf = '';
                        //qtxtElm.leavese = '';
                        //qtxtElm.leavesebuf = '';

                        qmenuExec_HistryButton = new LinkButtonLayer(this, destlayer);
                        qmenuExec_HistryButton.showFocusImage = false;

                        destlayer.locate(470,577);
                        destlayer.addButton(qtxtElm);
                }

                //ボイス再生ボタン
                if (qmenuExec_VoiceButton === void)
                {
                        var qtxtElm = %[];

                        qtxtElm.graphic = "qmenu_exec09";
                        qtxtElm.hint = '';
                        qtxtElm.visible = true;
                        qtxtElm.onenter = "kag.makeQMenuHint(501,550,' 音声再生','qmenu_hint_base01')";
                        qtxtElm.onleave = "kag.hideQMenuHint()";
                        qtxtElm.exp = "kag.voiceQExecMenuClick()";
                        qtxtElm.rc = "";
                        //qtxtElm.enterse ='';
                        //qtxtElm.entersebuf = '';
                        //qtxtElm.leavese = '';
                        //qtxtElm.leavesebuf = '';

                        qmenuExec_VoiceButton = new LinkButtonLayer(this, destlayer);
                        qmenuExec_VoiceButton.showFocusImage = false;

                        destlayer.locate(520,577);
                        destlayer.addButton(qtxtElm);
                }

                //スキップボタン
                if (qmenuExec_SkipButton === void)
                {
                        var qtxtElm = %[];

                        qtxtElm.graphic = "qmenu_exec04";
                        qtxtElm.hint = '';
                        qtxtElm.visible = true;
                        qtxtElm.onenter = "kag.makeQMenuHint(547,550,'  早送り','qmenu_hint_base01')";
                        qtxtElm.onleave = "kag.hideQMenuHint()";
                        qtxtElm.exp = "kag.skipQExecMenuClick()";
                        qtxtElm.rc = "";
                        //qtxtElm.enterse ='';
                        //qtxtElm.entersebuf = '';
                        //qtxtElm.leavese = '';
                        //qtxtElm.leavesebuf = '';

                        qmenuExec_SkipButton = new LinkButtonLayer(this, destlayer);
                        qmenuExec_SkipButton.showFocusImage = false;

                        destlayer.locate(570,577);
                        destlayer.addButton(qtxtElm);
                }

                //自動再生ボタン
                if (qmenuExec_AutoButton === void)
                {
                        var qtxtElm = %[];

                        qtxtElm.graphic = "qmenu_exec05";
                        qtxtElm.hint = '';
                        qtxtElm.visible = true;
                        qtxtElm.onenter = "kag.makeQMenuHint(596,550,' 自動再生','qmenu_hint_base01')";
                        qtxtElm.onleave = "kag.hideQMenuHint()";
                        qtxtElm.exp = "kag.autoQExecMenuClick()";
                        qtxtElm.rc = "";
                        //qtxtElm.enterse ='';
                        //qtxtElm.entersebuf = '';
                        //qtxtElm.leavese = '';
                        //qtxtElm.leavesebuf = '';

                        qmenuExec_AutoButton = new LinkButtonLayer(this, destlayer);
                        qmenuExec_AutoButton.showFocusImage = false;

                        destlayer.locate(620,577);
                        destlayer.addButton(qtxtElm);
                }

                //消去ボタン
                if (qmenuExec_EraseButton === void)
                {
                        var qtxtElm = %[];

                        qtxtElm.graphic = "qmenu_exec06";
                        qtxtElm.hint = '';
                        qtxtElm.visible = true;
                        qtxtElm.onenter = "kag.makeQMenuHint(644,550,' 文字枠消去','qmenu_hint_base01')";
                        qtxtElm.onleave = "kag.hideQMenuHint()";
                        qtxtElm.exp = "kag.eraseQExecMenuClick()";
                        qtxtElm.rc = "";
                        //qtxtElm.enterse ='';
                        //qtxtElm.entersebuf = '';
                        //qtxtElm.leavese = '';
                        //qtxtElm.leavesebuf = '';

                        qmenuExec_EraseButton = new LinkButtonLayer(this, destlayer);
                        qmenuExec_EraseButton.showFocusImage = false;

                        destlayer.locate(670,577);
                        destlayer.addButton(qtxtElm);
                }

                //メニューボタン
                /*
                if (qmenuExec_MenuButton === void)
                {
                        var qtxtElm = %[];

                        qtxtElm.graphic = "qmenu_exec07";
                        qtxtElm.hint = '';
                        qtxtElm.visible = true;
                        qtxtElm.onenter = "kag.makeQMenuHint(644,550,'メニュー表示','qmenu_hint_base01')";
                        qtxtElm.onleave = "kag.hideQMenuHint()";
                        qtxtElm.exp = "kag.menuQExecMenuClick()";
                        qtxtElm.rc = "";
                        //qtxtElm.enterse ='';
                        //qtxtElm.entersebuf = '';
                        //qtxtElm.leavese = '';
                        //qtxtElm.leavesebuf = '';

                        qmenuExec_MenuButton = new LinkButtonLayer(this, destlayer);
                        qmenuExec_MenuButton.showFocusImage = false;

                        destlayer.locate(670,577);
                        destlayer.addButton(qtxtElm);
                }
                */

        }

        //簡易メニュー(下:命令)を表示
        function showQExecMenu(mvmode,backmode)
        {
                var destlayer;

                if(skipMode && sf.qmenu_exec_mode != 2) return;

                if (backmode == "back")
                        destlayer = back.messages[qmenuLayer_Exec];
                else
                        destlayer = fore.messages[qmenuLayer_Exec];

                if (!movemode_qexec)
                {
                        if (destlayer.visible == false)
                                makeQExecMenu();

                        if (mvmode == "scroll")  //"scroll"なら移動表示
                        {
                                destlayer.visible = true;
                                movemode_qexec = 1;
                                timermove_qexec.enabled = true;
                        }
                        else        //"nowait"なら瞬間表示
                        {
                                destlayer.visible = true;
                                destlayer.top = 0;
                        }
                }

        }

        //簡易メニュー(下:命令)の消去
        function hideQExecMenu(mvmode)
        {
                if (!movemode_qexec)
                {
                        if (mvmode == "scroll")  //"scroll"なら移動表示
                        {
                                if (f.qmenu_enabled && fore.messages[qmenuLayer_Exec].visible == true)
                                        //kag.fore.messages[qmenuLayer_Exec].visible = true;
                                        movemode_qexec = 2;
                                        timermove_qexec.enabled = true;
                        }
                        else        //"nowait"なら瞬間消去
                        {
                                fore.messages[qmenuLayer_Exec].top = sf.qmenu_exec_movepixel;
                                fore.messages[qmenuLayer_Exec].visible = false;
                                deleteQExecMenu();
                        }
                }
        }

        //簡易メニュー(下:命令)を消去
        function deleteQExecMenu()
        {
                if(qmenuExec_LoadButton !== void)
                {
                        invalidate qmenuExec_LoadButton;
                        qmenuExec_LoadButton = void;
                }
                if(qmenuExec_SaveButton !== void)
                {
                        invalidate qmenuExec_SaveButton;
                        qmenuExec_SaveButton = void;
                }
                if(qmenuExec_ConfigButton !== void)
                {
                        invalidate qmenuExec_ConfigButton;
                        qmenuExec_ConfigButton = void;
                }
                if(qmenuExec_HistryButton !== void)
                {
                        invalidate qmenuExec_HistryButton;
                        qmenuExec_HistryButton = void;
                }
                if(qmenuExec_VoiceButton !== void)
                {
                        invalidate qmenuExec_VoiceButton;
                        qmenuExec_VoiceButton = void;
                }
                if(qmenuExec_SkipButton !== void)
                {
                        invalidate qmenuExec_SkipButton;
                        qmenuExec_SkipButton = void;
                }
                if(qmenuExec_AutoButton !== void)
                {
                        invalidate qmenuExec_AutoButton;
                        qmenuExec_AutoButton = void;
                }
                if(qmenuExec_EraseButton !== void)
                {
                        invalidate qmenuExec_EraseButton;
                        qmenuExec_EraseButton = void;
                }
                if(qmenuExec_MenuButton !== void)
                {
                        invalidate qmenuExec_MenuButton;
                        qmenuExec_MenuButton = void;
                }
                fore.messages[qmenuLayer_Exec].clear();
        }

        //簡易メニュー(下:命令)の表示用タイマ
        function onTimerMoveQExec() {
                var movespeed = sf.qmenu_exec_movespeed;//動く速度
                switch (movemode_qexec) {
                        case 0://ストップ
                                timermove_qexec.enabled = false;
                                break;
                        case 1://表示
                                if (fore.messages[qmenuLayer_Exec].top > 0) {
                                        fore.messages[qmenuLayer_Exec].top -= movespeed;
                                } else {
                                        timermove_qexec.enabled = false;
                                        movemode_qexec = 0;
                                }
                                break;
                        case 2://消去
                                if (fore.messages[qmenuLayer_Exec].top < sf.qmenu_exec_movepixel) {
                                        fore.messages[qmenuLayer_Exec].top += movespeed;
                                } else {
                                        timermove_qexec.enabled = false;
                                        movemode_qexec = 0;
                                        kag.fore.messages[qmenuLayer_Exec].visible = false;
                                        deleteQExecMenu();
                                }
                                break;
                }
        }

        function checkTextDrawing()//エラー回避のため、文字表示中は処理させないための判定用。
        {
                if ((!clickWaiting && !inSleep) || kag.skipMode>0 || kag.autoMode)
                        return true;
                else
                        return false;

        }

        function loadQExecMenuClick()//ロードボタン処理
        {
                if (checkTextDrawing()) return;//エラー回避
                kag.hideQMenuHint();
                if (sf.qmenu_exec_mode != 2) kag.hideQExecMenu();
                kag.callExtraConductor('qmenu.ks','*load');
        }

        function saveQExecMenuClick()//セーブボタン処理
        {
                if (checkTextDrawing()) return;//エラー回避
                kag.hideQMenuHint();
                if (sf.qmenu_exec_mode != 2) kag.hideQExecMenu();
                kag.callExtraConductor('qmenu.ks','*save');
        }

        function configQExecMenuClick()//コンフィグボタン処理
        {
                if (checkTextDrawing()) return;//エラー回避
                kag.hideQMenuHint();
                if (sf.qmenu_exec_mode != 2) kag.hideQExecMenu();
                kag.callExtraConductor('qmenu.ks','*config');
        }

        function historyQExecMenuClick()//履歴ボタン処理
        {
                if (checkTextDrawing()) return;//エラー回避
                kag.hideQMenuHint();
                if (sf.qmenu_exec_mode != 2) kag.hideQExecMenu();
                kag.callExtraConductor('qmenu.ks','*history');
        }

        function voiceQExecMenuClick()//ボイス再生ボタン処理
        {
                if (checkTextDrawing()) return;//エラー回避
                kag.hideQMenuHint();
                //if (sf.qmenu_exec_mode != 2) kag.hideQExecMenu();
                kag.callExtraConductor('qmenu.ks','*playvoice');
        }

        function skipQExecMenuClick()//スキップボタン処理
        {
                if (checkTextDrawing()) return;//エラー回避
                kag.hideQMenuHint();
                //if (sf.qmenu_exec_mode != 2) kag.hideQExecMenu();
                kag.callExtraConductor('qmenu.ks','*skipmode');
        }

        function autoQExecMenuClick()//自動再生ボタン処理
        {
                if (checkTextDrawing()) return;//エラー回避
                kag.hideQMenuHint();
                //if (sf.qmenu_exec_mode != 2) kag.hideQExecMenu();
                kag.callExtraConductor('qmenu.ks','*autoplay');
        }

        function eraseQExecMenuClick()//文字枠消去ボタン処理
        {
                if (checkTextDrawing()) return;//エラー回避
                kag.hideQMenuHint();
                if (sf.qmenu_exec_mode != 2) kag.hideQExecMenu();
                kag.callExtraConductor('qmenu.ks','*erasetextwindow');
        }

        function menuQExecMenuClick()//メニューボタン処理
        {
                if (checkTextDrawing()) return;//エラー回避
                kag.hideQMenuHint();
                if (sf.qmenu_exec_mode != 2) kag.hideQExecMenu();
                kag.callExtraConductor('qmenu.ks','*openmenu');
        }

        //----簡易メニュー(右:セーブ)---------------------------------------------------------

        //簡易メニュー(右:セーブ)を作成
        function makeQSaveMenu(backmode)
        {
                var destlayer;
                if (backmode == 'back')
                        destlayer = back.messages[qmenuLayer_Save];
                else
                        destlayer = fore.messages[qmenuLayer_Save];

                destlayer.face = dfBoth;

                //上ボタン
                if (qmenuSave_UpButton === void)
                {
                        var qsaveElm = %[];

                        qsaveElm.graphic = "qmenu_save_changepage01";
                        qsaveElm.hint = '';
                        qsaveElm.visible = true;
                        if (sf.saveload_page == 0)
                                qsaveElm.onenter = "kag.makeQMenuHint(573,17,'  最後のページに移動します。','qmenu_hint_base02')";
                        else
                                qsaveElm.onenter = "kag.makeQMenuHint(573,17,'  前のページに移動します。','qmenu_hint_base02')";
                        qsaveElm.onleave = "kag.hideQMenuHint()";
                        qsaveElm.exp = "kag.upPageQSaveMenuClick()";
                        qsaveElm.rc = "";
                        //qsaveElm.enterse ='';
                        //qsaveElm.entersebuf = '';
                        //qsaveElm.leavese = '';
                        //qsaveElm.leavesebuf = '';

                        qmenuSave_UpButton = new LinkButtonLayer(this, destlayer);
                        qmenuSave_UpButton.showFocusImage = false;

                        destlayer.locate(767,13);
                        destlayer.addButton(qsaveElm);

                }

                //各エントリ作成
                for (var i=0;i<10;i++)
                {
                        if (qmenuSave_EntryButton[i] === void)
                        {
                                var qsaveElm = %[];
                                var entry = i;

                                if (sf.saveload_page == 10)//オートセーブの場合、表示位置を修正
                                {
                                        entry = sf.autosave_entry - i-1;
                                        if (entry < 0) entry+=10;//負になった場合、+10して整数にする
                                }

                                if (sf.saveload_page == 10)
                                        qsaveElm.graphic = "qmenu_save_highlight01";
                                else
                                        qsaveElm.graphic = "qmenu_save_highlight01";
                                qsaveElm.hint = '';
                                qsaveElm.visible = true;
                                qsaveElm.onenter = "kag.makeQSaveMenuHint("+i+"+sf.saveload_page*10,420,44+48*"+entry+")";
                                qsaveElm.onleave = "kag.hideQMenuHint()";
                                qsaveElm.exp = "kag.lEntryQSaveMenuClick("+i+")";
                                qsaveElm.rc = "kag.rEntryQSaveMenuClick("+i+")";
                                //qsaveElm.enterse ='';
                                //qsaveElm.entersebuf = '';
                                //qsaveElm.leavese = '';
                                //qsaveElm.leavesebuf = '';

                                qmenuSave_EntryButton[i] = new LinkButtonLayer(this, destlayer);
                                qmenuSave_EntryButton[i].showFocusImage = false;

                                destlayer.locate(767,44+48*entry);
                                destlayer.addButton(qsaveElm);


                                //----------エントリ内容を画像で表示する場合----------

                                if (sf.saveload_page == 10)//オートセーブの場合
                                {
                                        //ベース画像読み込み
                                        var tmplayer = new Layer(this, destlayer);
                                        tmplayer.loadImages("qmenu_save_entry02");
                                        destlayer.copyRect(767,44+48*entry, tmplayer, 0, 0, tmplayer.imageWidth, tmplayer.imageHeight);
                                        invalidate tmplayer;

                                        //「自動」文字描画
                                        var tmplayer = new Layer(this, destlayer);
                                        tmplayer.loadImages("qmenu_save_mozi_auto");
                                        destlayer.operateRect(767, 50+48*entry, tmplayer, 0, 0, tmplayer.imageWidth, tmplayer.imageHeight,omPsNormal,255);
                                        invalidate tmplayer;

                                        //数値
                                        var tmplayer = new Layer(this, destlayer);

                                        if (entry < 9)//1桁の場合
                                        {
                                                switch (entry) {
                                                        case 0: tmplayer.loadImages("qmenu_save_mozi01");break;
                                                        case 1: tmplayer.loadImages("qmenu_save_mozi02");break;
                                                        case 2: tmplayer.loadImages("qmenu_save_mozi03");break;
                                                        case 3: tmplayer.loadImages("qmenu_save_mozi04");break;
                                                        case 4: tmplayer.loadImages("qmenu_save_mozi05");break;
                                                        case 5: tmplayer.loadImages("qmenu_save_mozi06");break;
                                                        case 6: tmplayer.loadImages("qmenu_save_mozi07");break;
                                                        case 7: tmplayer.loadImages("qmenu_save_mozi08");break;
                                                        case 8: tmplayer.loadImages("qmenu_save_mozi09");break;
                                                }
                                                destlayer.operateRect(777, 65+48*entry, tmplayer, 0, 0, tmplayer.imageWidth, tmplayer.imageHeight,omPsNormal,255);
                                        }
                                        else//2桁の場合
                                        {
                                                //オートセーブのスロットを10より多く作る場合、個別に修正して下さい。
                                                tmplayer.loadImages("qmenu_save_mozi01");
                                                destlayer.operateRect(774, 65+48*entry, tmplayer, 0, 0, tmplayer.imageWidth, tmplayer.imageHeight,omPsNormal,255);
                                                tmplayer.loadImages("qmenu_save_mozi00");
                                                destlayer.operateRect(781, 65+48*entry, tmplayer, 0, 0, tmplayer.imageWidth, tmplayer.imageHeight,omPsNormal,255);
                                        }

                                        invalidate tmplayer;

                                }
                                else//通常セーブの場合
                                {
                                        //ベース画像読み込み
                                        var tmplayer = new Layer(this, destlayer);
                                        tmplayer.loadImages("qmenu_save_entry01");
                                        destlayer.copyRect(767,44+48*entry, tmplayer, 0, 0, tmplayer.imageWidth, tmplayer.imageHeight);
                                        invalidate tmplayer;

                                        //表示位置調整
                                        var num = i+1+sf.saveload_page*10;

                                        if (num < 10)//1桁の場合
                                        {
                                                var tmplayer = new Layer(this, destlayer);
                                                switch (num) {
                                                        case 1: tmplayer.loadImages("qmenu_save_mozi01");break;
                                                        case 2: tmplayer.loadImages("qmenu_save_mozi02");break;
                                                        case 3: tmplayer.loadImages("qmenu_save_mozi03");break;
                                                        case 4: tmplayer.loadImages("qmenu_save_mozi04");break;
                                                        case 5: tmplayer.loadImages("qmenu_save_mozi05");break;
                                                        case 6: tmplayer.loadImages("qmenu_save_mozi06");break;
                                                        case 7: tmplayer.loadImages("qmenu_save_mozi07");break;
                                                        case 8: tmplayer.loadImages("qmenu_save_mozi08");break;
                                                        case 9: tmplayer.loadImages("qmenu_save_mozi09");break;
                                                }
                                                destlayer.operateRect(777, 65+48*entry, tmplayer, 0, 0, tmplayer.imageWidth, tmplayer.imageHeight,omPsNormal,255);
                                                invalidate tmplayer;
                                        }
                                        else if (num == 100)//3桁の場合(ここでは100のみ)
                                        {
                                                var tmplayer = new Layer(this, destlayer);
                                                tmplayer.loadImages("qmenu_save_mozi01");
                                                destlayer.operateRect(769, 65+48*entry, tmplayer, 0, 0, tmplayer.imageWidth, tmplayer.imageHeight,omPsNormal,255);
                                                tmplayer.loadImages("qmenu_save_mozi00");
                                                destlayer.operateRect(776, 65+48*entry, tmplayer, 0, 0, tmplayer.imageWidth, tmplayer.imageHeight,omPsNormal,255);
                                                tmplayer.loadImages("qmenu_save_mozi00");
                                                destlayer.operateRect(783, 65+48*entry, tmplayer, 0, 0, tmplayer.imageWidth, tmplayer.imageHeight,omPsNormal,255);
                                                invalidate tmplayer;
                                        }
                                        else//2桁の場合
                                        {
                                                var tmplayer = new Layer(this, destlayer);
                                                var num_10 = num\10;
                                                var num_1 = num%10;

                                                switch (num_10) {//10の位
                                                        case 1: tmplayer.loadImages("qmenu_save_mozi01");break;
                                                        case 2: tmplayer.loadImages("qmenu_save_mozi02");break;
                                                        case 3: tmplayer.loadImages("qmenu_save_mozi03");break;
                                                        case 4: tmplayer.loadImages("qmenu_save_mozi04");break;
                                                        case 5: tmplayer.loadImages("qmenu_save_mozi05");break;
                                                        case 6: tmplayer.loadImages("qmenu_save_mozi06");break;
                                                        case 7: tmplayer.loadImages("qmenu_save_mozi07");break;
                                                        case 8: tmplayer.loadImages("qmenu_save_mozi08");break;
                                                        case 9: tmplayer.loadImages("qmenu_save_mozi09");break;
                                                }
                                                destlayer.operateRect(774, 65+48*entry, tmplayer, 0, 0, tmplayer.imageWidth, tmplayer.imageHeight,omPsNormal,255);
                                                invalidate tmplayer;

                                                var tmplayer = new Layer(this, destlayer);
                                                switch (num_1) {//1の位
                                                        case 0: tmplayer.loadImages("qmenu_save_mozi00");break;
                                                        case 1: tmplayer.loadImages("qmenu_save_mozi01");break;
                                                        case 2: tmplayer.loadImages("qmenu_save_mozi02");break;
                                                        case 3: tmplayer.loadImages("qmenu_save_mozi03");break;
                                                        case 4: tmplayer.loadImages("qmenu_save_mozi04");break;
                                                        case 5: tmplayer.loadImages("qmenu_save_mozi05");break;
                                                        case 6: tmplayer.loadImages("qmenu_save_mozi06");break;
                                                        case 7: tmplayer.loadImages("qmenu_save_mozi07");break;
                                                        case 8: tmplayer.loadImages("qmenu_save_mozi08");break;
                                                        case 9: tmplayer.loadImages("qmenu_save_mozi09");break;
                                                }
                                                destlayer.operateRect(781, 65+48*entry, tmplayer, 0, 0, tmplayer.imageWidth, tmplayer.imageHeight,omPsNormal,255);
                                                invalidate tmplayer;

                                        }

                                        //最新の場合、「最新」を追加
                                        if (num == sf.new_savedata+1)
                                        {
                                                var tmplayer = new Layer(this, destlayer);
                                                tmplayer.loadImages("qmenu_save_mozi_new");
                                                destlayer.operateRect(767, 50+48*entry, tmplayer, 0, 0, tmplayer.imageWidth, tmplayer.imageHeight,omPsNormal,255);
                                                invalidate tmplayer;
                                        }
                                }

                                //----------エントリ内容をフォントで表示する場合----------
                                /*
                                //番号色
                                var txtcolor = 0x000000;
                                var autotxtcolor = 0x550000;
                                var shadowcolor = 0xffffff;

                                if (sf.saveload_page == 10)//オートセーブの場合
                                {
                                        var str;
                                        //ベース画像読み込み
                                        var tmplayer = new Layer(this, destlayer);
                                        tmplayer.loadImages("qmenu_save_entry02");
                                        destlayer.copyRect(767,44+48*entry, tmplayer, 0, 0, tmplayer.imageWidth, tmplayer.imageHeight);
                                        invalidate tmplayer;

                                        if (entry == 9)
                                                str = entry+1;
                                        else
                                                str = " " + (entry+1);
                                        destlayer.drawText(770, 55+48*entry, "自動", autotxtcolor,255,kag.chDefaultAntialiased,64,shadowcolor,0,1,1);
                                        destlayer.drawText(777, 67+48*entry, str, autotxtcolor,255,kag.chDefaultAntialiased,64,shadowcolor,0,1,1);
                                }
                                else//通常セーブの場合
                                {
                                        //表示位置調整
                                        var num = i+1+sf.saveload_page*10;

                                        //ベース画像読み込み
                                        var tmplayer = new Layer(this, destlayer);
                                        tmplayer.loadImages("qmenu_save_entry01");
                                        destlayer.copyRect(767,44+48*entry, tmplayer, 0, 0, tmplayer.imageWidth, tmplayer.imageHeight);
                                        invalidate tmplayer;

                                        if (num < 10)
                                                destlayer.drawText(780, 57+48*entry, num, txtcolor,255,kag.chDefaultAntialiased,64,shadowcolor,0,1,1);
                                        else if (num == 100)
                                                destlayer.drawText(773, 57+48*entry, num, txtcolor,255,kag.chDefaultAntialiased,64,shadowcolor,0,1,1);
                                        else
                                                destlayer.drawText(776, 57+48*entry, num, txtcolor,255,kag.chDefaultAntialiased,64,shadowcolor,0,1,1);

                                        //最新の場合、「最新」を追加
                                        if (num == sf.new_savedata+1)
                                                destlayer.drawText(770, 72+48*entry, "最新", 0xff0000,255,kag.chDefaultAntialiased,64,shadowcolor,0,1,1);
                                }
                                */

                        }
                }

                //下ボタン
                if (qmenuSave_DownButton === void)
                {
                        var qsaveElm = %[];

                        qsaveElm.graphic = "qmenu_save_changepage02";
                        qsaveElm.hint = '';
                        qsaveElm.visible = true;
                        if (sf.saveload_page == 10)
                                qsaveElm.onenter = "kag.makeQMenuHint(573,526,'  最初のページに戻ります。','qmenu_hint_base02')";
                        else
                                qsaveElm.onenter = "kag.makeQMenuHint(573,526,'  次のページに移動します。','qmenu_hint_base02')";
                        qsaveElm.onleave = "kag.hideQMenuHint()";
                        qsaveElm.exp = "kag.downPageQSaveMenuClick()";
                        qsaveElm.rc = "";
                        //qsaveElm.enterse ='';
                        //qsaveElm.entersebuf = '';
                        //qsaveElm.leavese = '';
                        //qsaveElm.leavesebuf = '';

                        qmenuSave_DownButton = new LinkButtonLayer(this, destlayer);
                        qmenuSave_DownButton.showFocusImage = false;

                        destlayer.locate(767,524);
                        destlayer.addButton(qsaveElm);
                }

        }

        //簡易メニュー(右:セーブ)を消去
        function deleteQSaveMenu()
        {
                if(qmenuSave_UpButton !== void)
                {
                        invalidate qmenuSave_UpButton;
                        qmenuSave_UpButton = void;
                }
                if(qmenuSave_DownButton !== void)
                {
                        invalidate qmenuSave_DownButton;
                        qmenuSave_DownButton = void;
                }
                for (var i=0;i<10;i++)
                {
                        if(qmenuSave_EntryButton[i] !== void)
                        {
                                invalidate qmenuSave_EntryButton[i];
                                qmenuSave_EntryButton[i] = void;
                        }
                }
                fore.messages[qmenuLayer_Save].clear();
        }

        //簡易メニュー(右:セーブ)を表示
        function showQSaveMenu(mvmode,backmode)
        {
                var destlayer;

                if(skipMode && sf.qmenu_save_mode != 2) return;

                if (backmode == "back")
                        destlayer = back.messages[qmenuLayer_Save];
                else
                        destlayer = fore.messages[qmenuLayer_Save];

                if (!movemode_qsave)
                {
                        if (destlayer.visible == false)
                                makeQSaveMenu();

                        if (mvmode == "scroll")  //"scroll"なら移動表示
                        {
                                destlayer.visible = true;
                                movemode_qsave = 1;
                                timermove_qsave.enabled = true;
                        }
                        else        //"nowait"なら瞬間表示
                        {
                                destlayer.visible = true;
                                destlayer.left = 0;
                        }
                }

        }

        //簡易メニュー(右:セーブ)を再描画
        function redrawQSaveMenu()
        {
                deleteQSaveMenu();
                fore.messages[qmenuLayer_Save].clear();
                makeQSaveMenu();
        }

        //簡易メニュー(右:セーブ)を隠す
        function hideQSaveMenu(mvmode)
        {
                if (!movemode_qsave)
                {
                        if (mvmode == "scroll")  //"scroll"なら移動表示
                        {
                                if (f.qmenu_enabled && fore.messages[qmenuLayer_Save].visible == true)
                                        //fore.messages[qmenuLayer_Save].visible = true;
                                        movemode_qsave = 2;
                                        timermove_qsave.enabled = true;
                        }
                        else        //"nowait"なら瞬間表示
                        {
                                fore.messages[qmenuLayer_Save].visible = false;
                                fore.messages[qmenuLayer_Save].left = sf.qmenu_save_movepixel;
                                deleteQSaveMenu();
                        }
                }
        }

        //簡易メニュー(右:セーブ)の表示用タイマ
        function onTimerMoveQSave() {
                var movespeed = sf.qmenu_save_movespeed;//動く速度
                switch (movemode_qsave) {
                        case 0://ストップ
                                timermove_qsave.enabled = false;
                                break;
                        case 1://表示
                                if (fore.messages[qmenuLayer_Save].left > 0) {
                                        fore.messages[qmenuLayer_Save].left -= movespeed;
                                } else {
                                        timermove_qsave.enabled = false;
                                        movemode_qsave = 0;
                                }
                                break;
                        case 2://消去
                                if (fore.messages[qmenuLayer_Save].left < sf.qmenu_save_movepixel) {
                                        fore.messages[qmenuLayer_Save].left += movespeed;
                                } else {
                                        timermove_qsave.enabled = false;
                                        movemode_qsave = 0;
                                        fore.messages[qmenuLayer_Save].visible = false;
                                        deleteQSaveMenu();
                                }
                                break;
                }
        }


        //簡易メニュー(右:セーブ)のツールチップヒント作成
        function makeQSaveMenuHint(num,x,y)
        {
                if(skipMode) return;
                var txtcolor = 0x000000;//文字色

                var text = kag.getBookMarkPageName(num);
                kag.fore.messages[qmenuLayer_Hint].face = dfBoth;

                //ベース画像の読み込み
                var tmplayer = new Layer(this, kag.fore.messages[qmenuLayer_Hint]);
                tmplayer.loadImages("qmenu_save_hint_base");
                kag.fore.messages[qmenuLayer_Hint].copyRect(0, 0, tmplayer, 0, 0, tmplayer.imageWidth, tmplayer.imageHeight);
                invalidate tmplayer;

                // サムネイル画像の読み込み
                var tmplayer = new Layer(this, kag.fore.messages[qmenuLayer_Hint]);
                var tnname = kag.getBookMarkFileNameAtNum(num);

                if(Storages.isExistentStorage(tnname) && kag.bookMarkDates[num] != '')
                {
                        tmplayer.loadImages(tnname);
                }
                else
                {
                        // サムネイル画像が手動で削除されたときの対処
                        if(kag.bookMarkDates[num] != '')
                        {
                                kag.bookMarkNames[num] = ''; // 栞名
                                kag.bookMarkDates[num] = ''; // 保存年月日
                                if(kag.scflags.bookMarkComments !== void)
                                        kag.scflags.bookMarkComments[num] = ''; // コメント
                                kag.setBookMarkMenuCaptions();
                        }

                        tmplayer.loadImages("dummy");  // No Data
                }

                kag.fore.messages[qmenuLayer_Hint].copyRect(3, 3, tmplayer, 0, 0, tmplayer.imageWidth, tmplayer.imageHeight);
                invalidate tmplayer;

                kag.fore.messages[qmenuLayer_Hint].left = x;
                kag.fore.messages[qmenuLayer_Hint].top = y;
                kag.fore.messages[qmenuLayer_Hint].setSize(344, 94);
                kag.fore.messages[qmenuLayer_Hint].font.height = 12;

                // 番号を表示
                var str = string (num + 1);
                var ty = kag.fore.messages[qmenuLayer_Hint].font.getTextHeight(str);
                if (sf.saveload_page == 10)//オートセーブの場合
                {
                        var entry = sf.autosave_entry - num + 100;
                        if (entry <= 0) entry+=10;
                        if (entry == 10)
                                str = "自動" + string (entry);  //自動セーブデータは「自動」と表示する
                        else
                                str = "自動 " + string (entry); //位置調整のため半角スペースを追加
                        kag.fore.messages[qmenuLayer_Hint].drawText(301, 4, str, txtcolor);
                }
                else
                        kag.fore.messages[qmenuLayer_Hint].drawText(322, 4, str, txtcolor);

                // 栞の保存名を表示
                var str = kag.bookMarkNames[num];
                if(str == '') str = '情報なし';
                if (sf.saveload_page == 10) str = "(自動)"+ str;        //オートセーブデータは「自動」を追加する

                //シナリオ中の日付表示をする場合、ラベルに':'(半角コロン)の区切り記号をつけたら、
                //その区切り記号より前を「シナリオ中の日付」、それより後を「サブタイトル」と設定することができます。
                //セーブ・ロード画面でもこの機能を使う場合、
                //saveload.ksのfunction SaveDataItemLayer(window, parent, num)内部も同様に変更して下さい。
                //var sepnum = str.indexOf(":");//詳細情報

                //シナリオ中の日付表示
                /*
                if (sepnum != -1)
                {
                        kag.fore.messages[6].drawText(129, 25, str.substring(0,sepnum), txtcolor);
                        str = str.substring(sepnum+1);
                }
                */

                //サブタイトル表示
                kag.fore.messages[qmenuLayer_Hint].drawText(143, 45, str, txtcolor);

                //上書き禁止の表示
                if (kag.bookMarkProtectedStates[num])
                {
                        kag.fore.messages[qmenuLayer_Hint].drawText(217, 5, "(上書き禁止)", 0xff0000);
                }

                // 日付を表示
                if(kag.bookMarkDates[num] == '')
                {
                        str = " ----/--/-- --:--";
                }
                else
                {
                        if (sf.new_savedata == num)//最新のものは"最新"を追加
                                kag.fore.messages[qmenuLayer_Hint].drawText(187, 77, "(最新)", 0xff0000);
                        if (num == ((sf.autosave_entry == 0)? 10:sf.autosave_entry) + 99)//オートセーブの最新のものには(新)を追加
                                kag.fore.messages[qmenuLayer_Hint].drawText(187, 77, "(新)", 0xff0000);
                        if (num == (sf.autosave_entry + 100))//オートセーブの最古のものには(古)を追加
                                kag.fore.messages[qmenuLayer_Hint].drawText(187, 77, "(古)", 0xff0000);
                        str = kag.bookMarkDates[num];
                }

                kag.fore.messages[qmenuLayer_Hint].drawText(233, 77, str, txtcolor);
                kag.fore.messages[qmenuLayer_Hint].visible = true;

        }

        //簡易メニューなどのツールチップヒント作成
        function makeQMenuHint(x,y,str,imgfile,destlayer)//imgtypeは画像ファイル名
        {
                if(skipMode) return;

                if (sf.qmenu_hint)
                {
                        if (destlayer == '')
                                destlayer = kag.fore.messages[qmenuLayer_Hint];
                        destlayer.face = dfBoth;

                        //ベース画像の読み込み
                        var tmplayer = new Layer(this, destlayer);
                        if (imgfile != '')
                                tmplayer.loadImages(imgfile);
                        destlayer.copyRect(0, 0, tmplayer, 0, 0, tmplayer.imageWidth, tmplayer.imageHeight);
                        invalidate tmplayer;

                        destlayer.left = x;
                        destlayer.top = y;

                        destlayer.drawText(8, 6, str, 0x000000);
                        destlayer.visible = true;
                }

        }

        //簡易メニューのツールチップヒントを隠す
        function hideQMenuHint(destlayer)
        {
                if (destlayer == '')
                        destlayer = kag.fore.messages[qmenuLayer_Hint];
                destlayer.visible = false;
                destlayer.clear();
        }

        //ページUPボタン処理
        function upPageQSaveMenuClick()
        {
                if (checkTextDrawing()) return;//エラー回避

                if (sf.saveload_page == 0)
                        sf.saveload_page = 10;
                else
                        sf.saveload_page--;

                kag.redrawQSaveMenu();
                //showQSaveMenu(0);
        }

        //各セーブエントリボタン処理(左クリック(セーブ))
        function lEntryQSaveMenuClick(num)
        {
                if (checkTextDrawing()) return;//エラー回避
                if (sf.saveload_page < 10)
                        kag.saveBookmarkAutoMode(num+sf.saveload_page*10);
        }

        //各セーブエントリボタン処理(右クリック(ロード))
        function rEntryQSaveMenuClick(num)
        {
                if (checkTextDrawing()) return;//エラー回避
                kag.loadBookmarkAutoMode(num+sf.saveload_page*10);
        }

        //ページDOWNボタン処理
        function downPageQSaveMenuClick()
        {
                if (checkTextDrawing()) return;//エラー回避

                if (sf.saveload_page == 10)
                        sf.saveload_page = 0;
                else
                        sf.saveload_page++;
                kag.redrawQSaveMenu();
                //showQSaveMenu(0);
        }

        //----簡易メニュー(左:設定)---------------------------------------------------------

        //簡易メニュー(左:設定)を作成
        function makeQConfigMenu(backmode)
        {
                var destlayer;

                if (backmode == 'back')
                        destlayer = back.messages[qmenuLayer_Config];
                else
                        destlayer = fore.messages[qmenuLayer_Config];

                destlayer.face = dfBoth;

                var tmplayer = new Layer(this, destlayer);
                tmplayer.loadImages("qmenu_config_base");
                destlayer.copyRect(0, 0, tmplayer, 0, 0, tmplayer.imageWidth, tmplayer.imageHeight);
                invalidate tmplayer;

                if (fullScreened)//フルスクリーンの場合
                {
                        //全画面ボタン
                        var tmplayer = new Layer(this, destlayer);
                        tmplayer.loadImages("qmenu_config01on");
                        destlayer.copyRect(17, 79, tmplayer, 0, 0, tmplayer.imageWidth, tmplayer.imageHeight);
                        invalidate tmplayer;

                        //ウィンドウボタン

                        if (qmenuConfig_WindowButton === void)
                        {
                                var qconfElm = %[];

                                qconfElm.graphic = "qmenu_config02";
                                qconfElm.hint = '';
                                qconfElm.visible = true;
                                qconfElm.onenter = "kag.makeQMenuHint(110,101,'   窓表示にします。','qmenu_hint_base02')";
                                qconfElm.onleave = "kag.hideQMenuHint()";
                                qconfElm.exp = "kag.hideQMenuHint(),kag.windowQConfigMenuClick()";
                                qconfElm.rc = "";
                                //qconfElm.enterse ='';
                                //qconfElm.entersebuf = '';
                                //qconfElm.leavese = '';
                                //qconfElm.leavesebuf = '';

                                qmenuConfig_WindowButton = new LinkButtonLayer(this, destlayer);
                                qmenuConfig_WindowButton.showFocusImage = false;

                                destlayer.locate(17,104);
                                destlayer.addButton(qconfElm);
                        }
                }
                else//ウィンドウモードの場合
                {
                        //全画面ボタン
                        if (qmenuConfig_FullScrButton === void)
                        {
                                var qconfElm = %[];

                                qconfElm.graphic = "qmenu_config01";
                                qconfElm.hint = '';
                                qconfElm.visible = true;
                                qconfElm.onenter = "kag.makeQMenuHint(110,75,'   全画面表示にします。','qmenu_hint_base02')";
                                qconfElm.onleave = "kag.hideQMenuHint()";
                                qconfElm.exp = "kag.hideQMenuHint(),kag.fullScrQConfigMenuClick()";
                                qconfElm.rc = "";
                                //qconfElm.enterse ='';
                                //qconfElm.entersebuf = '';
                                //qconfElm.leavese = '';
                                //qconfElm.leavesebuf = '';

                                qmenuConfig_FullScrButton = new LinkButtonLayer(this, destlayer);
                                qmenuConfig_FullScrButton.showFocusImage = false;

                                destlayer.locate(17,79);
                                destlayer.addButton(qconfElm);
                        }

                        //ウィンドウボタン
                        var tmplayer = new Layer(this, destlayer);
                        tmplayer.loadImages("qmenu_config02on");
                        destlayer.copyRect(17, 104, tmplayer, 0, 0, tmplayer.imageWidth, tmplayer.imageHeight);
                        invalidate tmplayer;
                }

                if (sf.readtxt_fast)//既読文章瞬間表示オンの場合
                {
                        //無ボタン
                        if (qmenuConfig_2ndReadButton === void)
                        {
                                var qconfElm = %[];

                                qconfElm.graphic = "qmenu_config03on";
                                qconfElm.hint = '';
                                qconfElm.visible = true;
                                qconfElm.onenter = "kag.makeQMenuHint(110,283,' 既読文章を通常速度にします。','qmenu_hint_base02')";
                                qconfElm.onleave = "kag.hideQMenuHint()";
                                qconfElm.exp = "kag.hideQMenuHint(),kag.readtxtOffQConfigMenuClick()";
                                qconfElm.rc = "";
                                //qconfElm.enterse ='';
                                //qconfElm.entersebuf = '';
                                //qconfElm.leavese = '';
                                //qconfElm.leavesebuf = '';

                                qmenuConfig_2ndReadButton = new LinkButtonLayer(this, destlayer);
                                qmenuConfig_2ndReadButton.showFocusImage = false;

                                destlayer.locate(40,283);
                                destlayer.addButton(qconfElm);
                        }
                }
                else//既読文章瞬間表示オフの場合
                {
                        //有ボタン
                        if (qmenuConfig_2ndReadButton === void)
                        {
                                var qconfElm = %[];

                                qconfElm.graphic = "qmenu_config03";
                                qconfElm.hint = '';
                                qconfElm.visible = true;
                                qconfElm.onenter = "kag.makeQMenuHint(110,283,' 既読文章を瞬間表示にします。','qmenu_hint_base02')";
                                qconfElm.onleave = "kag.hideQMenuHint()";
                                qconfElm.exp = "kag.hideQMenuHint(),kag.readtxtOnQConfigMenuClick()";
                                qconfElm.rc = "";
                                //qconfElm.enterse ='';
                                //qconfElm.entersebuf = '';
                                //qconfElm.leavese = '';
                                //qconfElm.leavesebuf = '';

                                qmenuConfig_2ndReadButton = new LinkButtonLayer(this, destlayer);
                                qmenuConfig_2ndReadButton.showFocusImage = false;

                                destlayer.locate(40,283);
                                destlayer.addButton(qconfElm);
                        }
                }
        }

        //簡易メニュー(左:設定)を消去
        function deleteQConfigMenu()
        {
                if(qmenuConfig_FullScrButton !== void)
                {
                        invalidate qmenuConfig_FullScrButton;
                        qmenuConfig_FullScrButton = void;
                }
                if(qmenuConfig_WindowButton !== void)
                {
                        invalidate qmenuConfig_WindowButton;
                        qmenuConfig_WindowButton = void;
                }
                if(qmenuConfig_2ndReadButton !== void)
                {
                        invalidate qmenuConfig_2ndReadButton;
                        qmenuConfig_2ndReadButton = void;
                }
                fore.messages[qmenuLayer_Config].clear();
        }

        //簡易メニュー(左:設定)を表示
        function showQConfigMenu(mvmode,backmode)
        {
                var destlayer;

                if(skipMode && sf.qmenu_config_mode != 2) return;

                if (backmode == "back")
                        destlayer = back.messages[qmenuLayer_Config];
                else
                        destlayer = fore.messages[qmenuLayer_Config];

                if (!movemode_qconf)
                {
                        if (destlayer.visible == false)
                        {
                                makeQConfigMenu();
                        }

                        if (mvmode == "scroll")  //"scroll"なら移動表示
                        {
                                destlayer.visible = true;
                                movemode_qconf = 1;
                                timermove_qconf.enabled = true;
                        }
                        else        //"nowait"なら瞬間表示
                        {
                                destlayer.visible = true;
                                destlayer.left = 0;

                                //スライダー表示
                                var sliderelm = %[];
                                sliderelm.forevisible = true;
                                sliderelm.page = "qmenu";
                                slider_object.setOptions(sliderelm);

                        }
                }

        }

        //簡易メニュー(左:設定)を隠す
        function hideQConfigMenu(mvmode)
        {
                if (!movemode_qconf)
                {
                        //スライダー消去
                        var sliderelm = %[];
                        sliderelm.forevisible = false;
                        //sliderelm.backvisible = false;
                        slider_object.setOptions(sliderelm);

                        if (mvmode == "scroll")  //"scroll"なら移動表示
                        {
                                if (f.qmenu_