(クラス)
アニメーションの実装とモニタリングをサポートするオブジェクトです。
説明
Timer は、定期的な間隔または指定した回数コードを繰り返して実行するための機能を提供します。
TimerEvent のターゲットとなってこの機能を果たします。
Timer がアクティブの間は、コンストラクタに提供された情報を使い、それ自体で
TimerEvent を発生させます。
注意: グラフィック オブジェクトの操作に未加工の
Timer を使わないでください。これは、Timer の管理に不備があると CPU とメモリ リソースを予想外に消費する恐れがあるためです。代わりに
Visual.animate を使用してください。ゲッター
Timer.active? (下記) の注意を参照してください。
例
次の例では、出力メッセージを 10 回スワップします。
例 |
 |
{value
let msg:Dynamic = {Dynamic "Just waiting around"}
let cnt:int = 0
{HBox
{CommandButton label="Go",
{on Action do
let t:Timer =
{Timer
interval = .3s, repeat = 10, delay = 0s,
{on TimerEvent do
set cnt = cnt + 1
{if cnt mod 2 != 0 then
set msg.value = "timer fired"
else
set msg.value = "waiting out the odd times"
}
}
}
}
},
{Fill width = 1cm},
{TextFlowBox {value msg}}
}
}
| |
コンストラクタ public | {Timer.default} |
アクセサ public final inline Timer.active?:
bool
アクセサ public final inline Timer.enabled?:
bool セッター public Timer.enabled?:
bool
アクセサ public final inline Timer.frequency:
Frequency
アクセサ public final inline Timer.interval:
Time セッター public Timer.interval:
Time
アクセサ public final inline Timer.repeat:
int セッター public Timer.repeat:
int
public | {Timer.disable}:void |
(コンストラクタ)
Timer を作成します。
when: 値が
null 以外で、
enabled? が
true、さらに
repeat が 0 以外の場合、最初の
TimerEvent が発生する時刻を指定します。
delay: 値が負ではなく、
when が
null、
enabled? が
true、さらに
repeat が 0 以外の場合は、
Timer の作成時から最初の
TimerEvent が発生するまでの間の待ち時間の長さを指定します。
これを
0s に設定すると、直ちに発生します。
注意事項
interval または
frequency のいずれかに対して (両方ではなく)、有効 (正の) 値を提供する必要があります。
when が
null、
delay が負 (既定) である場合、最初の
TimerEvent は、
Timer.interval が経過した後に発生します (
Timer が有効であることを前提とする)。
タイマーに対する
on-timer-event イベント ハンドラが未処理の例外をスローすると、タイマーは無効になります。これを回避するには、ダイナミック イベント ハンドラのコードを try/catch ペアでラップします。
例
let count:int = -1
let array:{Array-of int} = {new {Array-of int}, 1, 2, 3}
let timer:Timer =
{Timer
enabled?=true,
repeat=4,
interval=1s,
{on TimerEvent do
{try
set count = count + 1
{output array[count]}
catch e:Exception do
|| Handle exception here
}
}
}
(アクセサ)
アクセサ public final inline Timer.active?:
bool
(アクセサ)
アクセサ public final inline Timer.enabled?:
bool セッター public Timer.enabled?:
bool タイマーを有効にするかどうかを指定します。
説明
注意事項
Timer.enabled? を設定すると、
Timer がリセットされます。
(アクセサ)
アクセサ public final inline Timer.frequency:
Frequency イベントが発生する頻度です。
注意事項
また、
Timer.frequency を設定すると
Timer.interval が設定され、
Timer がリセットされます。
実際に観測される頻度は、システム ロードにより、多少異なる場合があります。
(アクセサ)
アクセサ public final inline Timer.interval:
Time セッター public Timer.interval:
Time
(アクセサ)
アクセサ public final inline Timer.repeat:
int セッター public Timer.repeat:
int
(メソッド)
public | {Timer.disable}:void |
タイマーを無効にします。
注意事項
このメソッドを呼び出すと、タイマーがリセットされます。
(メソッド)
タイマーを有効にします。
when: 値が
null 以外の場合、最初に
TimerEvent が発生するのがいつかを指定します (
Timer がアクティブであることを前提とする)。
delay: 値が負ではなく、
when が
null の場合は、
Timer の作成時から最初の
TimerEvent が発生するまでの待ち時間の長さを指定します (
Timer がアクティブであることを前提とする)。
これを
0s に設定すると、直ちに発生します。
説明
注意事項
このメソッドを呼び出すと、タイマーがリセットされます。