Taifrogです。
Youさんが作成されてるSL用語のサイトに、先日ここに書いたSL Exchangeへの登録の仕方を登録しましたので、必要な方はそちらをみてください。
SL用語の基礎知識
http://sl.gamedb.info/wiki/
私も、英語を中途半端に理解しながら売りに出したりしてるので、実は違う部分とかもあるかもしれないので、違ってたら誰か直してね。
ASKAで開催されるクラフターズカップ。
今月は「靴」ということで、ちょっと考えてみた。
そもそもサングラス以外でまじめに作ったものないから、ちゃんと作れるか不安。
試作品がこれ。
これでいいのかって気もするし。 題してワイヤーフレーム靴ってところか。
テクスチャーは、前からそうだけど苦手なので、あえてテクスチャー一切なし。
片足だけつくったところで、力つきた・・・。
よく考えたら、左右作んなきゃいけないし、微妙に左右で形が違うんですけど・・・。
間に合うかな・・・・。
あ、そうそう、家のスライドドアのスクリプトが直りました。
何の参考になるかわからないので、スクリプトを披露(そこ、無駄変数が多いとか言わない!)。
ちなみに、今回のバグは・・・、初めの位置をState_entryにしか書いてなかったにもかかわらず、
ドアを移動させたりしたため、基本になる位置情報がどんどん変わってたということみたいです。
Touchして、かつ閉じてる時に、位置情報を取得するようにしました。
(State_entryでもまだ取得してるけど、これ意味ないね・・)
ちなみにシャッターのスクリプトは、これを縦横逆にしたことと、あとサイズ(Scale)も伸び縮みさせてること。
基本は一緒ですが、移動と伸び縮みの調整間違えると、どんどん上空に上がっていきますw
***********************
float x;
integer openflag;
vector vec;
vector start_vec;
integer max_move = 26;
integer move_cnt = 0;
default{
state_entry() {
openflag = 1;
start_vec = llGetPos();
vec = llGetPos();
}
touch_start(integer total_number) {
if (openflag == 1) {
if (move_cnt != 0) {
llSay(0, "Wait!");
} else {
start_vec = llGetPos();
vec = llGetPos();
vec = vec - <0.0,>;
llSetPos(vec);
llSetTimerEvent(0.1);
openflag = 0;
move_cnt = 1;
}
} else {
if (move_cnt != 0) {
llSay(0, "Wait!");
} else {
vec = vec - <0.0,>;
llSetPos(vec);
llSetTimerEvent(0.1);
openflag = 1;
move_cnt = 1;
}
}
}
timer() {
if(openflag == 1){
if (move_cnt > max_move) {
llSetTimerEvent(0);
move_cnt = 0;
llSay(0, "End!");
} else {
vec = vec - <0.0,>;
llSetPos(vec);
move_cnt++;
}
} else {
if (move_cnt > max_move) {
llSetTimerEvent(0);
move_cnt = 0;
llSay(0, "End!");
} else {
vec = vec - <0.0,>;
llSetPos(vec);
move_cnt++;
}
}
}
}
登録:
コメントの投稿 (Atom)
1 件のコメント:
Wikiへの登録お疲れ様でした。
時間とってくれたんだなぁとわかる力作でした。
どうもありがとう~
ってことで、今後もよろしく
you Xiao
コメントを投稿