llDialog

llDialog

llDialog(key ID , string メッセージ , list ボタン , integer チャンネル)

機能概略

指定された"メッセージ"と"ボタン"を持つダイアログ(右上に表示される青い窓)を表示します。

サンプル

integer iCHANNEL = 42;
list lCOLORS = ["Red", "Blue", "Yellow", "Pink", "Green"];

default
{
    state_entry()
    {
          [[llListen]](iCHANNEL, "", NULL_KEY, ""); 
    } 

    touch_start(integer total_number)
    {
        llDialog([[llDetectedKey]](0), "Select GO-Ranger.\nBAN-BARA-BAN-BAN-BAN...", lCOLORS, iCHANNEL);
    }
 
    listen(integer channel, string name, key id, string message)
    {
        if(message == "Red")
        {
            [[llSetColor]](<1.0, 0.0, 0.0>, ALL_SIDES);
        }
        else if(message == "Blue")
        {
            llSetColor(<0.0, 0.0, 1.0>, ALL_SIDES);
        }
        else if(message == "Yellow")
        {
            llSetColor(<1.0, 1.0, 0.0>, ALL_SIDES);
        }
        else if(message == "Pink")
        {
            llSetColor(<1.0, 0.5, 0.5>, ALL_SIDES);
        }
        else if(message == "Green")
        {
            llSetColor(<0.0, 1.0, 0.0>, ALL_SIDES);
        }
    }
}
サンプルの使い方
1)適当なオブジェクトを1つ作成します。(球を縦長に伸ばしたものがよさげw)
2)新しいスクリプトの全文を、サンプルと置き換え、保存します。
3)オブジェクトをクリックして、ダイアログの表示を確認します。

Tips

  • ボタンは左から右、下から上へと並んでいきます。(電卓並び。電話並びではない。)
  • 日本語は使えません。
  • スクリプトの実行に、1秒の遅延(Delay)が発生します。

詳細な説明

ユーザー"ID"に、"メッセージ"と"ボタン"(「無視する」も追加されます)を持つポップアップダイアログボックスを、SecondLifeウインドウの右上角で表示します。
ボタンを選択することで、ユーザー"ID"が"チャンネル"で、選択したボタンのテキストをチャットへ出力したことになります。

"文字列"について

文字列は1~512文字の範囲であり、範囲外の場合はエラーとなります。
0文字の場合のエラー:llDialog: must supply a message
512文字以上の場合のエラー:llDialog: message too long, must be less than 512 characters
改行「\n」とタブ「\t」で、メッセージの書式を設定できます。
8行以上の場合は、垂直スクロールバーがダイアログボックス内に表示されます。
ダイアログボックス自体のサイズを変える方法は、ありません。

"ボタン"について

ボタンはlist型でなければなりません。
他の形式の場合のエラー:llDialog: button list must contain only strings 
ボタンは最大12個までです。
ボタンが0個の場合のエラー:llDialog: all buttons must have label strings
ボタンが空("",Null)の場合は、OKボタンになります。
ボタンがスペース(" ")の場合はスペースです。
ボタンは23文字までです。
24文字以上の場合のエラー:llDialog:Button Labels can not have more than 24 characters.
ボタンの文字列は、ボタンのサイズにより省略される場合があります。
ただし、表示上省略されていても、チャットへの出力は完全になされます。

History

1.8.2(9)現在 システムは自動的に<Object Owner Name>'s <Object Name>:\n\nを表示します。(日本語だと変な表示になります)

来客数:  -

選択肢 投票
役に立った (2)
役立たずだった (1)

  • 無視するボタンが押下された場合,
    判定のしかたがわからないため,
    llListenRemoveができずにいます。

    llListenしているままにすることは,あまりよくないプログラムです。
    -- ベリー (2008-06-17 22:19:35)
名前:
コメント:

タグ:

+ タグ編集
  • タグ:
最終更新:2009年02月01日 04:30
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。