Difference between revisions of "LlSetTimerEvent/ja"
Jump to navigation
Jump to search
Mako Nozaki (talk | contribs) m (Undo revision 851342 by Mako Nozaki (Talk)) |
Mako Nozaki (talk | contribs) |
||
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= | |func=llSetTimerEvent|p1_type=float|p1_name=sec|p1_desc=任意の 0 以外の正の値を指定すると作動し、ゼロ (0.0) を指定すると解除します。 | ||
|func_desc='''sec''' | |func_desc={{LSLG/ja|timer}} イベントを '''sec''' 秒ごとに最大 1 回起こします。 0.0 を指定すると以降のタイマーイベントの発生を停止します。 | ||
|func_footnote | |func_footnote | ||
|return_text | |return_text | ||
|spec | |spec | ||
|caveats= | |caveats= | ||
* | *タイマーイベントの時間間隔は以下の理由により伸びる場合があります。 | ||
* | ** '''時間拡張''' - 詳細は {{LSLG/ja|llGetRegionTimeDilation}} を参照してください。 | ||
** '''[[LSL Delay/ja#イベント|デフォルトのイベント遅延]]''' - 1 秒にいくつものイベントが発生した場合のみ。 | |||
** '''イベント実行時間''' - イベントの実行に非常に時間がかかった場合。 | |||
*タイマーはステートが変更されても残ります。しかし、スクリプトがリセットされると削除されます。 | |||
|constants | |constants | ||
|examples=<lsl>float gap = 2.0; | |examples=<lsl>float gap = 2.0; | ||
integer counter = 0; | integer counter = 0; | ||
default | default | ||
Line 18: | Line 20: | ||
state_entry() | state_entry() | ||
{ | { | ||
// | // 2 秒ごとのタイマーリスナーを起動します | ||
llSetTimerEvent(gap); | llSetTimerEvent(gap); | ||
llResetTime(); | llResetTime(); | ||
Line 25: | Line 27: | ||
touch_start(integer total_number) | touch_start(integer total_number) | ||
{ | { | ||
llSay(0, " | llSay(0, "タイマーが停止しました。"); | ||
llSetTimerEvent(0); | llSetTimerEvent(0); | ||
counter = 0; | counter = 0; | ||
Line 33: | Line 35: | ||
{ | { | ||
++counter; | ++counter; | ||
llSay(0, (string)counter+" | llSay(0, (string)counter+" が " + (string)llGetTime() | ||
+ " スクリプト秒の間にカウントされました。\n推測経過時間: " + (string)(counter * gap)); | |||
} | } | ||
}</lsl> | }</lsl> | ||
|helpers | |helpers | ||
|also_functions= | |also_functions= | ||
{{LSL DefineRow|| | {{LSL DefineRow||{{LSLG/ja|llSensorRepeat}}|}} | ||
{{LSL DefineRow|| | {{LSL DefineRow||{{LSLG/ja|llGetRegionTimeDilation}}|}} | ||
{{LSL DefineRow|| | {{LSL DefineRow||{{LSLG/ja|llGetTime}}|}} | ||
|also_events={{LSL DefineRow|| | |also_events={{LSL DefineRow||{{LSLG/ja|timer}}|}} | ||
|also_tests | |also_tests | ||
|also_articles | |also_articles |
Revision as of 13:32, 12 May 2010
LSL ポータル | 関数 | イベント | 型 | 演算子 | 定数 | 実行制御 | スクリプトライブラリ | カテゴリ別スクリプトライブラリ | チュートリアル |
要約
関数: llSetTimerEvent( float sec );警告
- タイマーイベントの時間間隔は以下の理由により伸びる場合があります。
- 時間拡張 - 詳細は llGetRegionTimeDilation を参照してください。
- デフォルトのイベント遅延 - 1 秒にいくつものイベントが発生した場合のみ。
- イベント実行時間 - イベントの実行に非常に時間がかかった場合。
- タイマーはステートが変更されても残ります。しかし、スクリプトがリセットされると削除されます。
サンプル
<lsl>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)); }}</lsl>
関連項目
特記事項
この項目はあなたにとって参考にならない項目ですか?もしかしたらLSL Wikiの関連した項目が参考になるかもしれません。