Adsense

2007年12月10日月曜日

LSL エディタあれこれ

スクリプトを書くときのエディタ、、、すでに他の方のブログなどでも紹介されていますが、最近面白いものが出てきてますね。

スクリプトを書くとき、私はどちらかといえば in-world で、あの、メモ帳みたいなエディタを使ってスクリプトを書いて、コンパイル、保存の繰り返しをしています。あのメモ帳みたいなエディタでも、関数の上にカーソルをおくと引数のガイドがでたりするんですよ。

image

でも、有名どころのエディタは、関数の上にカーソルなんておかなくても、いろいろなスクリプティング支援をしてくれますよね。
SciTE-EZ は Scintilla Text Editor を LSL 用にカストマイズしたもの、、、とのことです。どこかの情報サイトで SciTE が LSL に対応しているみたいな記事がありましたが、、、ちょっと違うんですよね。すでにこのプロジェクトは終了してしまっているので、さまざまなところで公開されているファイル(プロパティと api ファイル) を手に入れて、、、みたいなことが必要です。頻繁にリビジョンがアップする SL なので、正直、、めんどうなのは確かですね。関数が大きくかわることがなければそのまま使えますが、最近でいうと llRegionSay といった新しく追加された関数はそれに対応した更新ファイルを探さなくてはなりません。

とはいえ、SciTE-EZ は私も使ったりしています。通常のプログラム開発環境では当然のことが、、、できます(笑
たとえば、、、関数の選択は途中まで関数の文字をいれて Ctrl+i で以下のように候補が表示されます。

image

コンパイルを行った結果のエラーなども、、、SL メモ帳(w よりはわかりやすく表示されます。

image
LSLEditor というエディタが最近話題になっていたので、ちょっと入れて試してみましたが、、、びっくり。
候補、引数、、、などは当然なのですが、デバック機能がすごいんです。
特に、、、ダイアログ(笑
だって、ダイアログ、、、表示するんですよ。

image
かつ、、、本当にデバック機能らしく、、、llSetEventTimer で指定した時間で、、、timer() イベントを拾っているのが確認できたり、、、
それに、、、複数のスクリプトや、他のファイルなどをまとめてプロジェクトという形で管理します。アニメーションファイルやテクスチャなども追加できます。

image
ちなみに llRegionSay も候補リストさらには引数もきちんと表示しています。
ただ、、、、残念なことに日本語処理が・・・・えっと、正確にいうと llBase64ToString などの関数の処理がうまくいってません。
Database Server によるノートカード、、、そうプロジェクトでノートカードを追加できるので、そこに文字を書いて、スクリプトで読み込む、、、などもまだ対応しきれていないようです。

あと、関数の引数の中に関数をいれると、、、引数のアシストがとまります、、、SciTE-EZ ではここはうまく処理してましたね~。
でも、このデバックの機能すばらしいので、ほんとがんばってほしいですね~。
SciTE-EZ については Asuka Neely さんのブログが参考になります。
http://asukan.slmame.com/e256.html
http://asukan.slmame.com/e981.html
ですが、この記事の時点で最新の情報なので、今は api ファイルなどの置き場は違うかもしれません。
LSL Editor については以下のサイトで最新情報を取得できます。
http://www.lsleditor.org/
さらに、Linden の Forum (Payment Info User だけかな、、使えるの)でもディスカッションされています。
http://forums.secondlife.com/showthread.php?t=182108