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を表示します。(日本語だと変な表示になります)
来客数: -
- 無視するボタンが押下された場合,
判定のしかたがわからないため,
llListenRemoveができずにいます。
llListenしているままにすることは,あまりよくないプログラムです。
-- ベリー (2008-06-17 22:19:35)
最終更新:2009年02月01日 04:30