LlSetText/ja

From Second Life Wiki
Jump to navigation Jump to search

要約

関数: llSetText( string text, vector color, float alpha );

と透過率(アルファで指定します)を指定して、プリムの上にテキストを表示します。

• string text ダブルクオーテーション(")で囲まれたテキストを表示します。
• vector color RGB の <R, G, B> (<0.0, 0.0, 0.0> = 黒, <1.0, 1.0, 1.0> = 白)
• float alpha 0.0 (透過) ~ 1.0 (表示) (0.0 <= alpha <= 1.0)

警告

  • A script calling llSetTextを呼び出したスクリプトはもしフロートテキストが変わったかそうでなくても、llGetTextの関数が無いために知ることが出来ません
  • フロートテキストはプリムの設定であってスクリプトではなく、スクリプトが無効化あるいは除去されても、そのままテキストは残ります。
    • フロートテキストを除去するには、一度空文字を設定しなければいけません

<lsl> llSetText("", <1.0, 1.0, 1.0>, 1.0); </lsl>

  • 空改行はテキストの終端から除去されるので、何文字か縦に空白がほしいのなら、行末に何文字か(スペースのように)入れます。

<lsl> llSetText("Monkeys\n\n\n\n\n", <1.0, 1.0, 1.0>, 1.0);//Bad llSetText("Monkeys\n\n\n\n\n ", <1.0, 1.0, 1.0>, 1.0);//good </lsl>

サンプル

llSeTTextで緑のテキストでオブジェクト名を表示するコードを、標準のコードに含ませる方法の例です。 <lsl> default

{
    state_entry()
    {
         llSay(0, "Hello, Avatar!");
         llSetText(llGetObjectName(), <0.0, 1.0, 0.0>, 1.0); // Display object's name in green
    }

    touch_start(integer total_number)
    {
         llSay(0, "Touched.");
    }
}

</lsl> フロートテキストの初期状態は一行で表示されるでしょう。しかしながら、フロートテキストは改行"\n"(セクション関連項目内のSplitLineを読みましょう)を用いることで、複数以上に広げることが出来ます。 色の例: <lsl> vector white = <1.0, 1.0, 1.0>; vector red = <1.0, 0.0, 0.0>; vector green = <0.0, 1.0, 0.0>; vector blue = <0.0, 0.0, 1.0>; vector grey = <0.5, 0.5, 0.5>; vector black = <0.0, 0.0, 0.0>; </lsl> <1.0, 1.0, 1.0> は赤、緑、そして青の要素を描写します。 <1.0, 1.0, 1.0>は"白"を意味し、<0.0, 0.0, 0.0>は"黒"を意味します。 <lsl> llSetText("I am on", <1.0, 1.0, 1.0>, 1.0); </lsl> <lsl> llSetText("I am off", <0.0, 0.0, 0.0>, 1.0); </lsl> 1.0はアルファの設定です。1.0は完全な不透明、そして0.0は完全な透過(隠蔽)です。 <lsl> llSetText("alpha", <0.0, 1.0, 0.0>, 0.5); </lsl> 複数行 <lsl> llSetText("I am \n on two lines!", <0.0, 1.0, 0.0>, 1.0);

</lsl>

便利なスニペット

このスクリプトをインベントリからドラッグしてオブジェクトにいれると、設定したテキストを削除します。 <lsl> // http://wiki.secondlife.com/wiki/llSetText default {

   state_entry()
   {
       llSetText("", <0.0, 0.0, 0.0>, 0.0);
       llRemoveInventory(llGetScriptName());
   }

} </lsl>

関連項目

記事

•  LSL での色
•  透明度
•  : SplitLine 文字の幾つかの場所に'改行'のエスケープコードを挿入します
•  Useful snippet: llGetObjectPermMask フリーなのか有料なのか、テキストと改行でオブジェクトを分類します

特記事項

Search JIRA for related Issues

Signature

function void llSetText( string text, vector color, float alpha );
この翻訳は 原文 と比べて古いですか?間違いがありますか?読みにくいですか?みんなで 修正 していきましょう! (手順はこちら)
この項目はあなたにとって参考にならない項目ですか?もしかしたらLSL Wikiの関連した項目が参考になるかもしれません。