Difference between revisions of "LlSetTimerEvent/ja"

From Second Life Wiki
Jump to navigation Jump to search
m (Undo revision 851342 by Mako Nozaki (Talk))
 
(One intermediate revision by one other user not shown)
Line 1: Line 1:
{{LSL_Function/ja
{{LSL_Function/ja
|func_id=107|func_sleep=0.0|func_energy=10.0
|func_id=107|func_sleep=0.0|func_energy=10.0
|func=llSetTimerEvent|p1_type=float|p1_name=sec|p1_desc=いずれかの正の0以外の値。
|func=llSetTimerEvent|p1_type=float|p1_name=sec|p1_desc=任意の 0 以外の正の値を指定すると作動し、ゼロ (0.0) を指定すると解除します。
|func_desc='''sec'''秒毎に[[timer/ja|timer]]イベントを作動させる要因です。タイマーイベントの追加実行には0.0秒の停止を経ます。
|func_desc={{LSLG/ja|timer}} イベントを '''sec''' 秒ごとに最大 1 回起こします。 0.0 を指定すると以降のタイマーイベントの発生を停止します。
|func_footnote
|func_footnote
|return_text
|return_text
|spec
|spec
|caveats=
|caveats=
*時間拡張は[[timer/ja|timer]]イベントの作動間の間隔の長さ分が増加します。詳しくは[[llGetRegionTimeDilation/ja|llGetRegionTimeDilation]]をみましょう。
*タイマーイベントの時間間隔は以下の理由により伸びる場合があります。
*タイマーはステートの変更を超えて継続しますが、スクリプトのリセット時に除去されます。
** '''時間拡張''' -  詳細は {{LSLG/ja|llGetRegionTimeDilation}} を参照してください。
** '''[[LSL Delay/ja#イベント|デフォルトのイベント遅延]]''' - 1 秒にいくつものイベントが発生した場合のみ。
** '''イベント実行時間''' - イベントの実行に非常に時間がかかった場合。
*タイマーはステートが変更されても残ります。しかし、スクリプトがリセットされると削除されます。
|constants
|constants
|examples=<lsl>float gap = 2.0;
|examples=<source lang="lsl2">float gap = 2.0;
integer counter = 0;
integer counter = 0;


default
default
Line 18: Line 20:
     state_entry()
     state_entry()
     {
     {
         // Activate the timer listener every 2 seconds
         // 2 秒ごとのタイマーリスナーを起動します
         llSetTimerEvent(gap);
         llSetTimerEvent(gap);
         llResetTime();
         llResetTime();
Line 25: Line 27:
     touch_start(integer total_number)
     touch_start(integer total_number)
     {
     {
         llSay(0, "The timer stops.");
         llSay(0, "タイマーが停止しました。");
         llSetTimerEvent(0);
         llSetTimerEvent(0);
         counter = 0;
         counter = 0;
Line 33: Line 35:
     {
     {
         ++counter;  
         ++counter;  
         llSay(0, (string)counter+" ticks have passed in " + (string)llGetTime() + " script seconds.\nEstimated elapsed time: " + (string)(counter * gap));
         llSay(0, (string)counter+" " + (string)llGetTime()  
                + " スクリプト秒の間にカウントされました。\n推測経過時間: " + (string)(counter * gap));
     }
     }
}</lsl>
}</source>
|helpers
|helpers
|also_functions=
|also_functions=
{{LSL DefineRow||[[llSensorRepeat/ja|llSensorRepeat]]|}}
{{LSL DefineRow||{{LSLG/ja|llSensorRepeat}}|}}
{{LSL DefineRow||[[llGetRegionTimeDilation/ja|llGetRegionTimeDilation]]|}}
{{LSL DefineRow||{{LSLG/ja|llGetRegionTimeDilation}}|}}
{{LSL DefineRow||[[llGetTime/ja|llGetTime]]|}}
{{LSL DefineRow||{{LSLG/ja|llGetTime}}|}}
|also_events={{LSL DefineRow||[[timer/ja|timer]]|}}
|also_events={{LSL DefineRow||{{LSLG/ja|timer}}|}}
|also_tests
|also_tests
|also_articles
|also_articles

Latest revision as of 14:25, 25 February 2016

要約

関数: llSetTimerEvent( float sec );

timer イベントを sec 秒ごとに最大 1 回起こします。 0.0 を指定すると以降のタイマーイベントの発生を停止します。

• float sec 任意の 0 以外の正の値を指定すると作動し、ゼロ (0.0) を指定すると解除します。

警告

  • タイマーイベントの時間間隔は以下の理由により伸びる場合があります。
  • タイマーはステートが変更されても残ります。しかし、スクリプトがリセットされると削除されます。
All Issues ~ Search JIRA for related Bugs

サンプル

float gap = 2.0;
integer counter = 0;

default
{
    state_entry()
    {
        // 2 秒ごとのタイマーリスナーを起動します
        llSetTimerEvent(gap);
        llResetTime();
    }

    touch_start(integer total_number)
    {
        llSay(0, "タイマーが停止しました。");
        llSetTimerEvent(0);
        counter = 0;
    }

    timer()
    {
        ++counter; 
        llSay(0, (string)counter+" が " + (string)llGetTime() 
                 + " スクリプト秒の間にカウントされました。\n推測経過時間: " + (string)(counter * gap));
    }
}

関連項目

イベント

•  timer

関数

•  llSensorRepeat
•  llGetRegionTimeDilation
•  llGetTime

特記事項

Search JIRA for related Issues

Signature

function void llSetTimerEvent( float sec );
この翻訳は 原文 と比べて古いですか?間違いがありますか?読みにくいですか?みんなで 修正 していきましょう! (手順はこちら)
この項目はあなたにとって参考にならない項目ですか?もしかしたらLSL Wikiの関連した項目が参考になるかもしれません。