Site search
2008年6月9日月曜日
タッチライト スクリプト
ブログで宣伝したらほんとに売れるのかなって思ってたんですが、少しずつ売れてきたような感じです(嬉
ご覧くださいました皆様、お買い上げ頂きましたお客様、本当にありがとうございます^^
簡単なスクリプトも記事にしていきますね^^
今回はタッチで点灯するランプです。タッチのときにスイッチの状態を判断して照明のオン、オフを切り替えます。
スイッチの状態は変数を使ったり、ステートを変えたりでも良いですが、今回はプリムの色をllGetColorでチェックして判断するようにします^^
色、ライト、グローをllSetPrimitiveParamsで設定します。
それぞれの数値は次のように決めました
点灯のとき
色(PRIM_COLOR) <1,1,1>
ライト(PRIM_POINT_LIGHT) TRUE,<1,1,1>,1.0,10.0,0.75
グロー(PRIM_GLOW) 0.3
消灯のとき
色(PRIM_COLOR) <0.75,0.75,0.75>
ライト(PRIM_POINT_LIGHT) FALSE,<0,0,0>,0,0,0
グロー(PRIM_GLOW) 0
PRIM_GLOWは1.20系のRelease Candidate版Viewerなら大丈夫ですが、普通の1.19はコンパイルエラーになるので整数値25にしてます^^
12月23日12時40分頃追記: 1.19以下の古いビューワーはもう使われないと思うので、整数値25にしてたところはPRIM_GLOWに直しときました。
ご覧くださいました皆様、お買い上げ頂きましたお客様、本当にありがとうございます^^
簡単なスクリプトも記事にしていきますね^^
今回はタッチで点灯するランプです。タッチのときにスイッチの状態を判断して照明のオン、オフを切り替えます。
スイッチの状態は変数を使ったり、ステートを変えたりでも良いですが、今回はプリムの色をllGetColorでチェックして判断するようにします^^
色、ライト、グローをllSetPrimitiveParamsで設定します。
それぞれの数値は次のように決めました
点灯のとき
色(PRIM_COLOR) <1,1,1>
ライト(PRIM_POINT_LIGHT) TRUE,<1,1,1>,1.0,10.0,0.75
グロー(PRIM_GLOW) 0.3
消灯のとき
色(PRIM_COLOR) <0.75,0.75,0.75>
ライト(PRIM_POINT_LIGHT) FALSE,<0,0,0>,0,0,0
グロー(PRIM_GLOW) 0
// タッチライト
default
{
touch_start(integer total_number)
{
// フェイス0の色が<1,1,1>だったらオフに
if (llGetColor(0) == <1,1,1>) {
llSetPrimitiveParams([
PRIM_COLOR,ALL_SIDES,<0.75,0.75,0.75>,1.0,
PRIM_POINT_LIGHT,FALSE,<0,0,0>,0,0,0,
PRIM_GLOW,ALL_SIDES,0.0]);
}
// そうでないときはオンに
else {
llSetPrimitiveParams([
PRIM_COLOR,ALL_SIDES,<1,1,1>,1.0,
PRIM_POINT_LIGHT,TRUE,<1,1,1>,1.0,10.0,0.75,
PRIM_GLOW,ALL_SIDES,0.3]);
}
}
}
12月23日12時40分頃追記: 1.19以下の古いビューワーはもう使われないと思うので、整数値25にしてたところはPRIM_GLOWに直しときました。
登録:
コメントの投稿 (Atom)
おお!
返信削除売れてきましたか^^
それは、良かったーw
そうみたいなんですよ^^
返信削除今後に期待してブログのほうも頑張って書きたいと思いますー
それからリンクありがとうございます。そちらのブログからも結構見に来てくれてます^^
はじめてスクリプトを自分で作ったものにスクリプトを入れるという作業にに挑戦しました。ボールをタッチしてちゃんとライトが点いたり消えたりした時は大興奮でした。これからも勉強させていただきます。ありがとうございます。
返信削除スクリプトがきちんと動いたときってやっぱり嬉しいものですよね^^
返信削除他人に上手く教えられるほど説明上手じゃないんですが宜しくお願いします