2009年05月08日
お店をつくるぞ 20
前回、テクスチャ書きに煮詰まって、スクリプトを弄ってみました。
まず、ドアの開閉スクリプト。
以前の自宅もそうだったけど、開けたら開けっ放しになっていたので、開けてから一定時間で自動的に閉まるようにしてみました。
まず、ドアの開閉スクリプト。
以前の自宅もそうだったけど、開けたら開けっ放しになっていたので、開けてから一定時間で自動的に閉まるようにしてみました。
こんな感じw
-----------------------
// GB_DoorOpenClose.lsl
integer doorState = FALSE;
default
{
touch_start(integer total_number)
{
rotation doorRot = llGetRot();
if(doorState == FALSE)
{
llSetRot(doorRot * llEuler2Rot(<0, 0, 115 * DEG_TO_RAD>));
doorState = TRUE;
llSetTimerEvent(5.0);
}
else
{
llSetRot(doorRot * llEuler2Rot(<0, 0, -115 * DEG_TO_RAD>));
doorState = FALSE;
llSetTimerEvent(0.0);
}
}
timer()
{
rotation doorRot = llGetRot();
if(doorState == TRUE)
{
llSetRot(doorRot * llEuler2Rot(<0, 0, -115 * DEG_TO_RAD>));
doorState = FALSE;
llSetTimerEvent(0.0);
}
}
}
-----------------------
簡単に説明すると、
touch_startイベントで、ドアの状態を見て、閉じてたら開く、開いてたら閉じる。
開いたら、5秒間隔のタイマーイベントを発生させる。
5秒経って、ドアが開いていたら、閉じてタイマーイベントを解除。
もうちょっと構文をスッキリできそうですが、気分がスッキリできたので良しとしますwww
(上手いこと言った・・・オイラ)
-----------------------
// GB_DoorOpenClose.lsl
integer doorState = FALSE;
default
{
touch_start(integer total_number)
{
rotation doorRot = llGetRot();
if(doorState == FALSE)
{
llSetRot(doorRot * llEuler2Rot(<0, 0, 115 * DEG_TO_RAD>));
doorState = TRUE;
llSetTimerEvent(5.0);
}
else
{
llSetRot(doorRot * llEuler2Rot(<0, 0, -115 * DEG_TO_RAD>));
doorState = FALSE;
llSetTimerEvent(0.0);
}
}
timer()
{
rotation doorRot = llGetRot();
if(doorState == TRUE)
{
llSetRot(doorRot * llEuler2Rot(<0, 0, -115 * DEG_TO_RAD>));
doorState = FALSE;
llSetTimerEvent(0.0);
}
}
}
-----------------------
簡単に説明すると、
touch_startイベントで、ドアの状態を見て、閉じてたら開く、開いてたら閉じる。
開いたら、5秒間隔のタイマーイベントを発生させる。
5秒経って、ドアが開いていたら、閉じてタイマーイベントを解除。
もうちょっと構文をスッキリできそうですが、気分がスッキリできたので良しとしますwww
(上手いこと言った・・・オイラ)
商品情報だけ
## 543 台所シリーズ発売 ##
ショッピングモールご紹介
## 543 オープン記念 配布終了間近 ##
## 世界のタイニーシリーズ④ いぬいくん ##
## 543(Fove-Four-Three)本日開店 ##
## 543 台所シリーズ発売 ##
ショッピングモールご紹介
## 543 オープン記念 配布終了間近 ##
## 世界のタイニーシリーズ④ いぬいくん ##
## 543(Fove-Four-Three)本日開店 ##
Posted by 伍曜 at 21:12│Comments(0)
│ショップ