用來跟蹤模擬時間的簡單時鐘。
new Clock(options)
Parameters:
options
(Object)
Name | Description |
---|---|
options.startTime
JulianDate
|
時鐘的開始時間。 |
options.stopTime
JulianDate
|
時鐘的停止時間。 |
options.currentTime
JulianDate
|
當前時間。 |
options.multiplier
Number
default 1.0
|
確定調用Clock#tick 時提前多少時間,負值允許向后推進。
|
options.clockStep
ClockStep
default ClockStep.SYSTEM_CLOCK_MULTIPLIER
|
確定對Clock#tick 的調用是依賴于幀還是依賴于系統時鐘。
|
options.clockRange
ClockRange
default ClockRange.UNBOUNDED
|
確定當達到Clock#startTime 或Clock#stopTime 時時鐘應如何工作。
|
options.canAnimate
Boolean
default true
|
指示Clock#tick 是否可以提前時間。例如,如果正在緩沖數據,這可能是錯誤的。只有當Clock#canAnimate 和Clock#shouldAnimate 都為真時,時鐘才會滴答作響。
|
options.shouldAnimate
Boolean
default false
|
指示Clock#tick 是否應嘗試提前時間。只有當Clock#canAnimate 和Clock#shouldAnimate 都為真時,時鐘才會滴答作響。
|
Example
// Create a clock that loops on Christmas day 2013 and runs in real-time.
var clock = new bmgl.Clock({
startTime : bmgl.JulianDate.fromIso8601("2013-12-25"),
currentTime : bmgl.JulianDate.fromIso8601("2013-12-25"),
stopTime : bmgl.JulianDate.fromIso8601("2013-12-26"),
clockRange : bmgl.ClockRange.LOOP_STOP,
clockStep : bmgl.ClockStep.SYSTEM_CLOCK_MULTIPLIER
});
Throws
-
DeveloperError : 開始時間必須在停止時間之前。
- ClockStep
- ClockRange
- JulianDate
See:
Members
canAnimate : Boolean
-
Default Value:
true
clockRange : ClockRange
確定當達到
Clock#startTime
或Clock#stopTime
時時鐘應如何工作。
-
Default Value:
ClockRange.UNBOUNDED
clockStep : ClockStep
確定對
Clock#tick
的調用是依賴于幀還是依賴于系統時鐘。將此屬性更改為ClockStep.SYSTEM_CLOCK
將設置Clock#multiplier
為1.0,Clock#shouldAnimate
為真,并Clock#currentTime
為當前系統時鐘時間。
-
Default Value:
ClockStep.SYSTEM_CLOCK_MULTIPLIER
currentTime : JulianDate
multiplier : Number
獲取或設置調用
Clock#tick
時提前多少時間。負值允許向后推進。如果Clock#clockStep
設置為ClockStep.TICK_DEPENDENT
,這是前進的秒數。如果Clock#clockStep
設置為ClockStep.SYSTEM_CLOCK_MULTIPLIER
,該值將乘以自上次調用Clock#tick
以來經過的系統時間。更改此屬性將Clock#clockStep
從ClockStep.SYSTEM_CLOCK
更改為ClockStep.SYSTEM_CLOCK_MULTIPLIER
。
-
Default Value:
1.0
onStop : Event
當達到
Clock#stopTime
時觸發的Event
。
onTick : Event
每當調用
Clock#tick
時被觸發的Event
。
shouldAnimate : Boolean
指示
Clock#tick
是否應嘗試提前時間。只有當Clock#canAnimate
和Clock#shouldAnimate
均為真時,時鐘才會提前。更改此屬性將Clock#clockStep
從ClockStep.SYSTEM_CLOCK
更改為ClockStep.SYSTEM_CLOCK_MULTIPLIER
。
-
Default Value:
false
startTime : JulianDate
時鐘的開始時間。
stopTime : JulianDate
時鐘的停止時間。
Methods
tick() → {JulianDate}
根據當前配置選項從當前時間提前時鐘。不管動畫是否發生,每一幀都應該調用勾號。要控制動畫,請使用
Clock#shouldAnimate
屬性。