2010年02月12日
第06回 速度検出HUD
第03~05回にかけて速度の求め方・小数点以下の四捨五入の事を書いてきましたが相当無駄なことをしていたようで
無理矢理作ったユーザー関数二つ分がなんと一行で書けてしまいました コメント頂いた方、ありがとうございましたm(_ _)m
では、当初よりすごく簡単になった小数第二位表示の速度検出HUDです。
無理矢理作ったユーザー関数二つ分がなんと一行で書けてしまいました コメント頂いた方、ありがとうございましたm(_ _)m
では、当初よりすごく簡単になった小数第二位表示の速度検出HUDです。
float time = 0.5; // 速度検出のタイミング
integer switch;
default
{
state_entry()
{
switch = 1;
llSetTimerEvent(time);
}
touch_start(integer num_detected)
{
if (switch == 0){
switch = 1;
llSetTimerEvent(time);
}else{
switch = 0;
llSetText("",ZERO_VECTOR,0);
llSetTimerEvent(0.0);
}
}
timer()
{
llSetText(llGetSubString((string)(llRound(llVecMag(llGetVel()) * 3.6 * 100)/100.0), 0, -5) + " km/h", <1,1,1>, 1);
}
}
タッチでスイッチの切替、タイマーイベント内で速度を検出しフローティングテキスト表示です。
llGetVel ----- vector値の速度(m/h)を得る
llVecMag ----- ベクトルの長さを計算
llRound ----- (3.6倍で時速換算、100倍したものの) 小数点以下を四捨五入
割る100で小数に戻して文字列に変換
llGetSubString ----- 後ろの余計な0を削除
第08回 キー入力検出
第07回 世界時計
第05回 小数点以下を任意の桁数で四捨五入する
第04回 llGetVel() を使って速度を算出
第03回 llGetVel() を使って速度を算出
第02回 リンクメッセージ
第07回 世界時計
第05回 小数点以下を任意の桁数で四捨五入する
第04回 llGetVel() を使って速度を算出
第03回 llGetVel() を使って速度を算出
第02回 リンクメッセージ
Posted by Redzone at 10:04│Comments(0)
│スクリプト
※このブログではブログの持ち主が承認した後、コメントが反映される設定です。