メニューとクリッカブルマップ~ユーザーに選ばせる方法~

どんなものがあるの?

メニューを表示する、画面をクリックした場所を調べる、メニューを表示せずにランダムで選択するなどの方法があります。

メニューを表示せずにランダムで選択する

メニューを表示せずに、提示した選択肢から一つをランダムに選びます。
書式  randmenu:
    コメント          <=この行を忘れないでください(汗)
    <選択肢1を選ぶ比率>
    ジャンプ命令
    <選択肢2を選ぶ比率>
    ジャンプ命令
   ・・・(中略)・・・
    <選択肢nを選ぶ比率>
    ジャンプ命令

例(Segment:1930とSegment:1940に、8:2の割合でジャンプします。)
   randmenu:
   コメント
   <8>
   ->Segment:1930
   <2>
   ->Segment:1940
   
   ->Segment:1920

メニューを表示する

メニューを表示し、提示した選択肢から一つを選んでもらいます。

(その1)プレイヤーの顔が出て選択する

書式  Avatar.Menu:『数字|数字,1|(省略)』
    コメント          <=この行を忘れないでください(汗)
    <選択肢1>(;条件指定)
    ジャンプ命令
    <選択肢2>(;条件指定)
    ジャンプ命令
   ・・・(中略)・・・
    <選択肢n>(;条件指定)
    ジャンプ命令
    (空行)
    ジャンプ命令        <=時間切れになった時のジャンプ先です

(その2)プレイヤーの顔を出さずに選択する

書式  Menu:『数字|数字,1|(省略)』
    コメント          <=この行を忘れないでください(汗)
    <選択肢1>(;条件指定)
    ジャンプ命令
    <選択肢2>(;条件指定)
    ジャンプ命令
   ・・・(中略)・・・
    <選択肢n>(;条件指定)
    ジャンプ命令
    (空行)
    ジャンプ命令        <=時間切れになった時のジャンプ先です

(その3)特別教室などを選択する形式

書式  world.Menu:『数字|数字,1|(省略)』
    コメント          <=この行を忘れないでください(汗)
    <選択肢1>(;条件指定)
    ジャンプ命令
    <選択肢2>(;条件指定)
    ジャンプ命令
   ・・・(中略)・・・
    <選択肢n>(;条件指定)
    ジャンプ命令
    (空行)
    ジャンプ命令        <=時間切れになった時のジャンプ先です

数字を省略すると、プレイヤーが選択肢を選ぶまで待ちます。コロンの後に数字を指定すると、指定した秒数だけ経過すると時間切れの選択肢が選ばれます。数字,1を指定すると、制限時間付きになると同時に、選択肢の表示順序を入れ替えます。

いずれの場合にも、選択肢は次の行以降に記述します。選択肢として表示したい文章を<>の中に書いてください。

2020/10/26 18:17追記
メニューの表示したい内容の先頭に半角? つまり<?なんとか は使えません。入れると、スクリプトの編集画面が消えます。

また、(その1)と(その2)の形式では、選択肢は6つまで表示できます。(選択肢はいくつでも書けます。)(その3)の形式では、選択肢はそれなりの数を表示できます。(20ほど表示した実績があります。)

選択肢のうちどれか一つが選ばれると、その直後に書かれたジャンプ命令が実行されます。
条件を指定すると、指定した条件が満たされた場合だけ、当該選択肢が表示されます。詳しくは条件指定をご覧ください。

余談

選択肢に表示する内容を変数で指定することが出来ます。

ls[5]=お茶をもらう

と設定しておいて

例  Avatar.Menu:
   何を頼もうかな・・・
   <;ls[5];>
   ->Segment:200

と書けるのです。まあ、飛び先は変えられませんから、使い道があるかどうか判りませんが。

制限時間20秒、選択肢の入れ替え有りでクイズを出題します。

例  Avatar.Menu:20,1
   公式部活のひとつである「チャ道部」で、おチャ会を開催することがあります。その際に貰える定番のお土産とは?
   <おまんじゅう>
    ->Segment:500
   <クッキー>
   ->Segment:550
   <せんべい>
    ->Segment:550
   
     ->Segment:545

画面をクリックした場所を調べる

画面のどの部分をクリックしたかを調べます。数字を省略すると、プレイヤーが選択肢を選ぶまで待ちます。コロンの後に数字を指定すると、指定した秒数だけ経過すると時間切れの選択肢が選ばれます。
書式  Map.Menu:『数字|(省略)』
    コメント             <=この行を忘れないでください(汗)
    <X座標,Y座標,幅,高さ>(;条件指定)
    ジャンプ命令
    <X座標,Y座標,幅,高さ>(;条件指定)
    ジャンプ命令
   ・・・(中略)・・・
    <X座標,Y座標,幅,高さ>(;条件指定)
    ジャンプ命令
    (空行)
    ジャンプ命令

数字を省略すると、プレイヤーが範囲内をクリックするまで待ちます。コロンの後に数字を指定すると、指定した秒数だけ経過すると時間切れの選択肢が選ばれます。

いずれの場合にも、クリックされたか調べたい範囲は、次の行以降に記述します。調べたい範囲を<>の中に書いてください。順に、左上の頂点のX座標、左上の頂点のY座標、長方形の幅、長方形の高さです。例えば、画面上の座標(10,200)が左上の頂点である、幅80、高さ40の長方形の範囲を指定する場合には、<10,200,80,40>になります。

選択肢のうちどれか一つが選ばれると、その直後に書かれたジャンプ命令が実行されます。
条件を指定すると、指定した条件が満たされた場合だけ、当該選択肢が表示されます。詳しくは条件指定をご覧ください。

例  MAP.menu:20
   ある場所を選ぶ   <==この行を忘れないでください(汗)
   <10,200,80,40>
   ->Segment:550
   <110,200,80,40>
   ->Segment:560
   <210,200,80,40>
   ->Segment:570
   <10,260,80,40>
   ->Segment:580
   <110,260,80,40>
   ->Segment:590
   <210,260,80,40>
   ->Segment:600
   
   ->Segment:790

メニューとクリッカブルマップ~ユーザーに選ばせる方法~” に対する意見

  1. ピンバック: スクリプト研究所 記事一覧(目次) | スクリプト研究所

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です