LScriptメモ
参考サイト
- LScript Forum
- http://forums.newtek.com/discus/messages/2/21824.html?1043785836
- Learn to Program in LScript
- http://www.chromecow.com/oldcow/tutorials/TUT-PikANum-1.html
注意
日本語はコメントでもだめ
書式
C言語に近い
Hello World
main { info(“Hello World”); }
ベクトル型
ベクトルはカンマで区切った三つの数値データタイプの値を、
小なり記号(<)と大なり記号(>)で囲み、一つの型として表す
<1.9, -2.4, 0.23>
関数形式
関数名: 引数1, 引数2... { ... }
配列引数
関数に配列を渡す場合、@で囲む
// 垂直選択リストを作成 c1 = ctlchoice(“Quadrant?”,choice,@”90”,”180”,”270”@,true);
この場合、”90”,”180”,”270”を3つ目の引数にしている
ツール
LScriptエディタ
C:\LightWave_8\Programs\lsed
構文チェックや、強調表示が可能。日本語に対応していない?
リクエスタ
ユーザーに何か入力を促すパネルのこと
リクエスタ使用例
// リクエスタの開始の宣言 reqbegin("<Requester Title>"); // コントロールをリクエスタに追加する c0 = ctlinteger("Integer Control",1); c1 = ctlnumber("Number Control",1.0); c2 = ctlstring("String Control","my string"); c3 = ctlcheckbox("Checkbox Control",true); c4 = ctlpopup("Popup control",1,@"Item 1","Item 2","Item 3"@); c5 = ctlchoice("Choice Control",1,@"X","Y","Z"@); // リクエスタの終了チェック(OK/Cancelのチェック) return if !reqpost(); // リクエスタモードを終了する reqend();
閉じる前に
Width = getvalue(c0);
といった感じで変数に入力されたパラメータを渡す
ファイルの読み込み
file = "c:\\test.lws"; //日本語ファイル名はNG? f = File(file,"r") || error("can't open file: '",file,"'"); // メソッドの値を表示 info("Linecount: ", f.linecount()); // 開始行を読み込んで表示 line1 = f.read(); info("line1: ", line1); // 次の行を読み込んで表示 line2 = f.read(); info("line2: ", line2);
ファイルの書き込み
file = "c:\\test.lws"; //日本語ファイル名はNG? f = File(file,"w") || error("can't open file: '",file,"'"); f.writeln(integer, 10); f.writeln(string, "20");
リクエスタに直接描く
main { reqbegin("graphics test"); reqsize(600, 400); // リクエスタのサイズを指定する reqredraw("req_redraw"); // 再描画時のコールバックを指定する return if !reqpost(); reqend(); } // 再描画時のコールバック req_redraw { drawbox(<255, 0, 0>, 10, 10, 50, 50); // 箱 drawtext("draw text", <0 , 255, 0>, 200, 10); // テキスト drawline(<0, 0, 255>, 100, 100, 150, 150); // 線 }