そういう場所で高度の高い上空を飛んでると、どのくらいまで上昇したか把握できなくて不便なんですよw それで今回は現在位置を表示させる簡単なHUDを作ってみました。
仕組みも単純なので特に難しい部分はないと思います。タッチしたとき新しくなったSLURL(ビューワー2用?)を表示するようにしました。
// 現在位置の座標を表示
string get_pos(string s)
{
vector pos=llGetPos(); // 現在位置取得
// 値を整数にして文字列に変換
string x=(string)((integer)pos.x);
string y=(string)((integer)pos.y);
string z=(string)((integer)pos.z);
return x+s+y+s+z; // 引数sで区切ってリターン
}
default
{
state_entry()
{
llSetTimerEvent(0.1); // 最初は0.1後にタイマー開始
}
timer()
{
llSetTimerEvent(1); // 1秒おきにタイマーをセット
string str=llGetRegionName()+"\n("+get_pos(", ")+")"; // SIM名と座標を表示用に整形
llSetText(str,<1,1,1>,1.0); // フローティングテキストに表示
}
touch_start(integer total_number)
{
if (llDetectedKey(0) == llGetOwner()) { // オーナーがタッチしたらSLURLをチャット
llOwnerSay("http://maps.secondlife.com/secondlife/"+llEscapeURL(llGetRegionName())+"/"+get_pos("/"));
}
}
}
0 件のコメント:
コメントを投稿