2007年06月30日
出たり消えたりできるメッセージボード
タッチすると表示されさらにタッチすると消えるメッセージボードを作ろうと考え
作ってはみたものの・・機能的には一応問題がないのですが、使いがっては悪いのと
出現中はリッスンが常時作動中というのも問題。とりあえずはベースとして忘れないように
メモ書きとして残しておきます。

------------------------------------
1.親OBJ スイッチ側に以下のスクリプトを突っ込みます。
------------------------------------
default
{
touch_start(integer total_number)
{
llRezObject("Message", llGetPos() + <0, 0, 2.0>, ZERO_VECTOR, llGetRot(), 0);
}
object_rez(key id)
{
state off;
}
}
state off
{
touch_start(integer total_number)
{
llSay(2, "off");
state on;
}
}
state on
{
touch_start(integer total_number)
{
llRezObject("Message", llGetPos() + <0, 0, 2.0>, ZERO_VECTOR, llGetRot(), 0);
}
object_rez(key id)
{
state off;
}
}
------------------------------------
2.子供obj 出現側に以下のスクリプトを突っ込みます。
------------------------------------
default
{
state_entry()
{
llSay(0, "Hello, Avatar!");
integer mes = llListen(2, "mes_obj",NULL_KEY, "off");
}
listen(integer channel, string name, key id, string message)
{
llDie();
}
}
default
{
state_entry()
{
llSay(0, "Hello, Avatar!");
integer mes = llListen(2, "mes_obj",NULL_KEY, "off");
}
listen(integer channel, string name, key id, string message)
{
llSay(0, "dell");
llDie();
}
------------------------------------
3.スクリプトを入れたらさらに、親objに格納するとできあがり。
------------------------------------
作ってはみたものの・・機能的には一応問題がないのですが、使いがっては悪いのと
出現中はリッスンが常時作動中というのも問題。とりあえずはベースとして忘れないように
メモ書きとして残しておきます。
------------------------------------
1.親OBJ スイッチ側に以下のスクリプトを突っ込みます。
------------------------------------
default
{
touch_start(integer total_number)
{
llRezObject("Message", llGetPos() + <0, 0, 2.0>, ZERO_VECTOR, llGetRot(), 0);
}
object_rez(key id)
{
state off;
}
}
state off
{
touch_start(integer total_number)
{
llSay(2, "off");
state on;
}
}
state on
{
touch_start(integer total_number)
{
llRezObject("Message", llGetPos() + <0, 0, 2.0>, ZERO_VECTOR, llGetRot(), 0);
}
object_rez(key id)
{
state off;
}
}
------------------------------------
2.子供obj 出現側に以下のスクリプトを突っ込みます。
------------------------------------
default
{
state_entry()
{
llSay(0, "Hello, Avatar!");
integer mes = llListen(2, "mes_obj",NULL_KEY, "off");
}
listen(integer channel, string name, key id, string message)
{
llDie();
}
}
default
{
state_entry()
{
llSay(0, "Hello, Avatar!");
integer mes = llListen(2, "mes_obj",NULL_KEY, "off");
}
listen(integer channel, string name, key id, string message)
{
llSay(0, "dell");
llDie();
}
------------------------------------
3.スクリプトを入れたらさらに、親objに格納するとできあがり。
------------------------------------
Posted by T4476 at 21:15│Comments(0)
│逆引き