2009年01月10日
12/20 スクリプターの会の報告

結局昨年内にまとめることができず、年が明けてしまいましたが、昨年 12 月 20 日に行われたスクリプターの会のまとめです。
この日は久しぶりに?たくさんのお題をアレコレ話しました・・・。
★wikia側のまとめページはこちらです。
●子プリムをグループに分けて処理
リンクを解除したりリンク順を変えたりしても、ルートプリムにある子プリムに対する処理を書き換えなくてもいいような方法について話しました。
実はオハズカシながら、店主は llGetLinkName という関数をこの時まで知らず(笑)、別の方法でアレコレやっていたので、みなさんの失笑をかってしまいましたw。
LSL を扱い始めた頃に、Second Life Wiki の関数一覧をなんども眺めていたので、「まったく見たことがない」ということは無いはずなのですが、なぜか必要な場面でその関数にたどり着けていなかったんですね・・・。
勉強になりました(笑)
●文字列置換処理
Second Life Wiki にある、主に Strife さんがまとめている汎用ライブラリの文字列置換関数について話しました。
文字列置換処理は、おそらく多くのスクリプターが自前で用意して使っていると思われますが、関数の使用頻度が高かったり、対象文字列が長かったり、置換回数が多かったりする場合に、スクリプトのパフォーマンスに影響する可能性があります。
この汎用ライブラリの関数は、組み込み関数を上手く使用して非常に効率的に処理するようになっています。
(llDumpList2String と、llParseStringKeepNulls を使用します。)
文字列置換は、わざわざ車輪の再発明を行わずに、素直にこの汎用関数を使うのがよいと思います。
●ビット反転
人によっては普段ほとんど使うことのないビット演算についてアレコレ話をしました。
●ビット演算でデクリメント
ビット演算の話の続きで、ビット演算を使用したデクリメント処理について話をしました。
●リスト型へのキャスト
リスト型へのキャストについてです。
Mono でどうなっているのかは調べようがないのがつらいですね。
コンパイル後の IL コードを何らかの方法で見れるようにして欲しいと個人的には思っています・・・。
(まずは JIRA に要望を出さないといけませんね・・。)
●no modオブジェクトのコンテンツの削除
買った商品に色やテクスチャの変更スクリプトが大量に入ったりしている場合、そのまま身に付けているとそれだけで SIM にわずかでも負荷をかけることになってしまいます。
ですので、色や大きさを変更し終わったら、スクリプトを削除してしまいたいと思う人はいるはずですが、商品が no mod かつ copy 可能(中身のスクリプトも copy 可能)な場合、どうやっても削除できません。
最近はアクセサリや衣服などで、スクリプトによるサイズ変更機能が入っているものがスタンダードになってきていますが、そういった製品を作られる場合は、是非ともスクリプトの削除機能まで実装して、身につけていても SIM の負荷にならないような対策を盛り込んで欲しいと個人的には思っています。
●ステート遷移後の1回目のタッチイベントが発生しない場合がある
この話は you さんのスクリプトでなぜか空の collision_start イベントが書いてあったのを不思議に思ったところから始まりました。
you さんによると、タッチイベントで 1 回目が発生しないという挙動を自分で経験していたから、それと同じ不具合を防ぐために collision_start も入れたとのことでした。
込み入ったスクリプトを作ったりしていると、こういう「おかしな挙動」に出くわすことが(残念ながら)今の SL では結構あります。
私も椅子キットを製作していて、いくつか不思議な挙動に出くわしました。
そういった不思議な挙動について、私は忘れないようにスクリプターの会用のお題ボックスにメモするようにしています。
みなさんも「あれっ?」と思うようなことに出くわしたら、手裏剣カフェに何かメモを残しておいて頂いてもOKですよ!
(スクリプターの会に来てお話していただくのが一番ですがw)
スクリプターズカフェのオフィスアワー(スクリプターの会)は、毎週土曜日の22時から、New Script SIMの手裏剣カフェで開催しています。
その他の曜日も営業時間に質問などを受け付けています。
スクリプトの質問のある方や、自分のスクリプトをテストしたい方など、どなたでもお気軽にお立ち寄りください!
Scripters Cafe(wikia)
Scripters Cafeへテレポート
ドアのスクリプト
6/27日 スクリプターの会の報告
5/2 スクリプターの会のご案内&スクリプトモール
3/21 スクリプターの会のご案内
1/10 スクリプターの会の報告
1/3 スクリプターの会の報告
6/27日 スクリプターの会の報告
5/2 スクリプターの会のご案内&スクリプトモール
3/21 スクリプターの会のご案内
1/10 スクリプターの会の報告
1/3 スクリプターの会の報告
Posted by Hidenori Glushenko at 09:44│Comments(0)
│オフィスアワー
※このブログではブログの持ち主が承認した後、コメントが反映される設定です。