スクリプトをわかりやすく、かつ艶かしく解説する『なぜなにスクリプト』第二回目のテーマはなんでしょうか?
今回は『オブジェクトの上にテキストを表示させる方法』です。
あー、ありますね。「Touch me!」とか、テクスチャやオブジェクトでは表示しきれないものを表示させるやつですね。たくさんのテクスチャを読み込むので重いときなどにも、結構重宝しますね。
このスクリプトはオブジェクトの上にのみ表示が可能です。
天は人の上に人をのせて人を作ったと言いますからね。
なに言ってんだ、この人は? スクリプトは、以下の通りです。
| default { state_entry() { llSetText("I am an orange.", <1,1,1>, 1.0); } } |
あ、随分シンプルなスクリプトですね。では解説をお願いします。
はい。これは、スクリプトが動き出したら、白い文字で「I am an orange.」と 表示します。海外ではfloating textといわれてたりします。
直訳すると浮遊したテキストですね。「I am an orange.」の部分を変えれば、そのまま使えるわけですね。で、そのあとの数字は何でしょう?
lslwikiにてllSetText()はどう使うのかを調べてみますと。http://rpgstats.com/wiki/index.php?title=LlSetText
llSetText(string text, vector color, float alpha)となっています。
え~と、全然わかりません。
1番目の"string text"は、テキスト(文字列)を入れなさい
2番目の"vector color"は、色を指定しなさい
3番目の"float alpha"は、透明度を指定しなさいという意味です。
なるほど。色と透明度の指定なわけですね。
テキストは始まりと終わりを"ダブルクウォートで囲むきまりですね。 きちんと囲むと緑色になります。
はい。
文字列はアルファベットで255文字まで可能です。また、次のような書式があります。
・" \n "といれると改行とみなされます。
・" \" "といれるとダブルクウォート自身を表示します。
わかりました。ところでベクターカラーとはなんでしょう?
色の指定の仕方ですが、<1.0, 1.0, 1.0>という書き方をします。3つの数字がコンマ区切りになって、大なり、小なりで囲まれています。 数字は整数であっても、なくてもかまいません。 これら3つの数字はRGBカラーに対応していて、となっています。 ここでRGBカラーは本来0~255が使用されますが、スクリプトでは、 0~1.0が使用されます。なので、RGBでの数字を255で割った数字を 入れるというように考えましょう。
なるほど。ということは。<1.0, 1.0, 1.0>が白で<0.0, 0.0, 1.0>が青ということですね。
その他にもスクリプトにはベクターと指定されるものがありますので、その場合にも<1.0, 1.0, 1.0>というような書き方をします。
透明度の方はフロートアルファとありますが?
透明度は、0.0~1.0の数字を指定します。 小数点はつけなくても大丈夫ですが、float ○○と書いてある場合は、小数点つきで書いておくのが無難です。0.0が透明度100%で見えません。1.0が透明度0%でくっきりと見えます。
なるほど、フロートと指定されていたら少数ということですね。
その外にも整数を指定するintegerやCopy Asset UUIDなどで取得した文字列を入力するkeyなんていうのもあります。
lslwikiをみて、どの書式で記入するかは必ず確認が必要ですね。
ちなみに、テキストに日本語を入れようとすると、□□□と表示されてしまいます。実はこの点、Macユーザの場合はこれでもきちんと日本語が表示されます。Winユーザはダメなようです。クライアントViewerに若干の違いがあるようです。
わかりました。
最後に注意事項です。
・一度llSetText()を実行したオブジェクトはスクリプトを削除しても、テキストは消えません。空のテキスト "" を実行して下さい。
・テキストは壁などを越えて見えることがあります。お隣さんの敷地、オブジェクト上に侵入しないように気をつけましょう。
それは気をつけないといけませんねー。
自分のオブジェクトにFreeと表示していたら、お隣さんのオブジェクト上に表示されているように見えて、怒られるということが……。
はっはっは。ウスラトンカチなやつもいるもんですねー。顔が見てみたい!
……私ですが。
……え~と、では次回のテーマですが。
『オブジェクトを同じ方向に回転させる』です。
あ、しまった。ポロリ忘れた。しょうがない、私のお稲荷さ……。
出すな!(殴)
……ポロリ(涙)
マグスル second life セカンドライフの遊び方マガジン
magsl 2007/03/10










