
2008年02月24日
デバッグ用のsay
オブジェクトの中にいくつかスクリプトを入れていると、
どれがsayしてるのか分からなくて困ることがありました。
それに不要になったときsayがデバッグ用のものなのか確認しながら、
最後には削除するわけですが、この関数でデバッグ用のsayをしておくと楽に検索できます。
llGetScriptName関数で得たスクリプト名とデバッグ用の文字をくっつけてsayします。
最初の変数debugmodeでスクリプトごとにデバッグ用表示をするかどうかを決めます。
デバッグ用のsayでは、多くのメッセージがチャットウィンドウに流れて
llSayだと迷惑がかかるので、llOwnerSayを使ってます。
しかし、最初にできるスクリプト「Hello, Avatar!」なんですが、
あれってllOwnerSayを使うべきだと思うのですが。
始めたころllSayばっかり使って、かなりスパムをばらまいてました。
ごめんなさい。
// スクリプト sayDebug
どれがsayしてるのか分からなくて困ることがありました。
それに不要になったときsayがデバッグ用のものなのか確認しながら、
最後には削除するわけですが、この関数でデバッグ用のsayをしておくと楽に検索できます。
llGetScriptName関数で得たスクリプト名とデバッグ用の文字をくっつけてsayします。
最初の変数debugmodeでスクリプトごとにデバッグ用表示をするかどうかを決めます。
デバッグ用のsayでは、多くのメッセージがチャットウィンドウに流れて
llSayだと迷惑がかかるので、llOwnerSayを使ってます。
しかし、最初にできるスクリプト「Hello, Avatar!」なんですが、
あれってllOwnerSayを使うべきだと思うのですが。
始めたころllSayばっかり使って、かなりスパムをばらまいてました。
ごめんなさい。
// スクリプト sayDebug
integer debugmode = TRUE;
sayDebug(string s) {
if(debugmode) {
s = llGetScriptName() + ":" + s;
llOwnerSay(s);
}
}
default {
touch_start(integer total_number) {
sayDebug("HELLO!");
}
}
2008年02月24日
メッセージボード AFK時のアニメーションオーバーライド
このように退席中のメッセージを表示していても・・・

AFKになると装着先によってはアバタの動きに合わせてメッセージボードも一緒に倒れてしまいます。

AFK時のAO機能をonにするとこのようにAFK時にメッセージボードが倒れないようにできます。


AFKになると装着先によってはアバタの動きに合わせてメッセージボードも一緒に倒れてしまいます。

AFK時のAO機能をonにするとこのようにAFK時にメッセージボードが倒れないようにできます。

2008年02月24日
メッセージボード 両面表示もできます
装着して片面表示でメッセージを表示しているところなんですが・・・。

後ろから見てみると、もちろん何も表示されていません。
これではちゃんと書き込めてるか確認するには、
カメラを移動して前から見るしかないです。でも、それもなんだか不便です。

そこで紙芝居やテレビのフリップみたいに両面表示も設定変更でできるようにしました。
文字子プリムは倍必要となりますが、装着品ならプリム数もそれほど気にならないと思います。

後ろから見てみると、もちろん何も表示されていません。
これではちゃんと書き込めてるか確認するには、
カメラを移動して前から見るしかないです。でも、それもなんだか不便です。

そこで紙芝居やテレビのフリップみたいに両面表示も設定変更でできるようにしました。
文字子プリムは倍必要となりますが、装着品ならプリム数もそれほど気にならないと思います。
2008年02月24日
メッセージボードのサイズ変更デモ
製品版では最大7メートルまでとなっております。
ユーザの方が使うと10メートルから縮小するときに文字子プリムが取り残されることがわかりました。
製品のパーミッションが異なると発生するようです。
・サイズは10センチから107メートルまでダイアログから段階的に変更できます。
ただし、文字数が多いと文字子プリムを縮小しきれないので、
最小サイズは文字数とパネルで変わってきます。
・手作業で親パネルのサイズを編集しても文字子プリムがそのままだと、
整列させリサイズするのは手間です。
パネルにあわせてスクリプトで文字子プリムを再配置・リサイズします。
サイズ変更は装着したままでもできます。
・10メートル級のスケールが急に10センチ級のスケールになったときは、
見失いやすいので注意が必要です。
・サイズ変化が激しいと変更に取り残されてしまう文字子プリムがでることがありますが、
再度サイズ指定をすると直ります。
以下はハートのパネルを装着したまま20センチから10メートルまでサイズを変更しているデモです。
20センチ

1メートル

5メートル

10メートル
ユーザの方が使うと10メートルから縮小するときに文字子プリムが取り残されることがわかりました。
製品のパーミッションが異なると発生するようです。
・サイズは10センチから
ただし、文字数が多いと文字子プリムを縮小しきれないので、
最小サイズは文字数とパネルで変わってきます。
・手作業で親パネルのサイズを編集しても文字子プリムがそのままだと、
整列させリサイズするのは手間です。
パネルにあわせてスクリプトで文字子プリムを再配置・リサイズします。
サイズ変更は装着したままでもできます。
・10メートル級のスケールが急に10センチ級のスケールになったときは、
見失いやすいので注意が必要です。
・サイズ変化が激しいと変更に取り残されてしまう文字子プリムがでることがありますが、
再度サイズ指定をすると直ります。
以下はハートのパネルを装着したまま20センチから10メートルまでサイズを変更しているデモです。
20センチ

1メートル

5メートル

10メートル
2008年02月24日
メッセージボードの文字数を変更しているところ
SIMに負荷がかかりそうなのと、そこまで必要はないと思いますので、
製品版では120文字、30子文字プリムまでとさせていただきます。
「1行の文字数12, 行数4(48文字)」から「1行の文字数24,行数10(240文字)」へ変更するデモです。
1子プリムで4文字表示しますので、子プリムは12個から60個になります。
それとパネルの親プリムを1個つ使用します。
ダイアログからの設定に従い、いらなくなった文字子プリムを消し、
新たに文字子プリムを作成、配置、リサイズした後文字を表示しなおしています。

2008年02月24日
設定を1行24文字10行の240文字(最大)表示にしたところ
設定で一行の文字数、行数、フォントを変更可能です。
SIMに負荷がかかりそうなのと、そこまで必要はないと思いますので、
製品版では120文字までとさせていただきます。
フォントは6種類です。
表示文字数:8~240120文字
一行当たりの文字数:8~44文字。
行数:1~3015行。
(ダイアログからの指定で変更できます)。
入力可能文字数は340120文字(1ページで表示できないときは改頁を繰り返します)。
エンボス(ポップ体)

プレゼンス

行書体

丸ゴシック

明朝

ポップ体

SIMに負荷がかかりそうなのと、そこまで必要はないと思いますので、
製品版では120文字までとさせていただきます。
フォントは6種類です。
表示文字数:8~
一行当たりの文字数:8~44文字。
行数:1~
(ダイアログからの指定で変更できます)。
入力可能文字数は
エンボス(ポップ体)
プレゼンス
行書体
丸ゴシック
明朝
ポップ体


