2015年9月21日月曜日

LSL 型の変換

LSL を書くときに詰まったのが変数の型の変換でした。
これを知っておくとサンプルスクリプトからスクリプトを使いやすいようにアレンジしやすくなります。
ざくっと解説を置いてきます。プログラミングに詳しくはないので間違っているかもしれないので間違っていたら教えてください><

整数→文字列に変換したい場合

整数型の変数[Hensu]を文字列型として扱いたい
integer Hensu=123 ;  
(string)Hensu

 integer=整数型 /Hensu=変数(ユーザー定義)/string=文字列型

変数の前に変換したい型を( )付きで挿入する。


例1)

integer Hensu=123 ; 
default {
   state_entry()
   {
       llSay(0, "数字変換結果["+ (string)Hensu + "]"); 
   }
}

例2)

integer Hensu=123 ; 
default {
   state_entry()
   { 
       string Moji=(string)Hensu
       llSay(0, "数字変換結果["+ Moji + "]");  
   }
}

どちらも 数字変換結果[123] と出力されます。
ダイアログのテキストなどに組み込んだり、スクリプトの途中で変数が何になっているのか調べる時にllSayで出力したりと便利です。

------メモ-------

string(文字列) 例)"ああああ" 
vector(ベクトル、色や座標を指定する時に使うやつ) 例)<1.0, 2.0, 3.0>
integer (整数) 例)100 -58
Float(小数点) 例)0.1 
など。

変数

スクリプトを書く人が定義するやつ、どの型か指定する必要があり。
BlackSheep-LSL@Wiki 基礎知識 > 変数とは?