2007年11月13日
カラーチェンジの仕方 教えてください><
髪やバッグなど、アバターに装着したものを touch でカラー変更させたいと思ってます。
現状、装着しなければカラー変更できるのですけど…。
↑可能、ですよね…?
わかる方、教えてください。
現状、装着しなければカラー変更できるのですけど…。
↑可能、ですよね…?
わかる方、教えてください。
テクスチェンジのHUDについて
モール用のプリムカウンターを探しています
連続するアニメーションの処理
オブジェクトの上にフローティングテキストを出す。
チャットログの盗聴について
椅子に座った後で位置調整できるスクリプト
モール用のプリムカウンターを探しています
連続するアニメーションの処理
オブジェクトの上にフローティングテキストを出す。
チャットログの盗聴について
椅子に座った後で位置調整できるスクリプト
// Main
default
{
state_entry()
{
llSetColor(<1.0, 1.0, 1.0>, ALL_SIDES);
}
// Rez Event
on_rez(integer start_param)
{
llResetScript();
}
// Touch Event
touch_start(integer num_detected)
{
llSetColor(<1.0, 0.0, 0.0>, ALL_SIDES);
}
}
上のスクリプトでは最初に白<1.0, 1.0, 1.0>に設定しています。装着してオブジェクトをクリックすればtouch_startが動きますので、その中でllSetColorで赤<1.0, 0.0, 0.0>にしています。
上の例は1プリムのオブジェクトで実行して問題なく動きます。
たとえばオブジェクトが複数プリムあって、ルートプリムにだけスクリプトがあるとすれば、llSetColorは自分しか色を変えられないので
llSetLinkColor(integer linknumber, vector color, integer face)
で子プリムの色を変えてやらなければなりません。その場合は、
integer i;
integer prim_num = llGetNumberOfPrims(); // リンクされているプリム数を得る
for(i = 2;i <= prim_num; i++) // リンク番号1はルートプリムなので2からスタート
{
llSetLinkColor(i, <1.0, 0.0, 0.0>, ALL_SIDES);
}
とすれば全プリムの色を変えることができます。
とりあえず1プリムで、教えていただいたスクリプトを入れてみました。
…のですが、タッチで色は変わるのですけど、装着したときに「ドロップ」「編集」「取り外す」しか出てこないのです。
「touch」がないのです!
ナゼ??
お手数ですが、他に何かわかれば教えていただけると助かります。
調べていただいてありがとうございました。
私ももう少し試してみます!
llSetLinkColor(LINK_SET, <1.0, 0.0, 0.0>, ALL_SIDES);
で変更できます。
ぼくもわからなくて困ってたんですが、これで出来ました。
しかし、ほかの色(たとえば、黄色とか)にするばあいの数字は
オブジェクトの上に出す文字のスクリプトと同じですか?