用來(lái)跟蹤模擬時(shí)間的簡(jiǎn)單時(shí)鐘。
new Clock(options)
Parameters:
options
(Object)
Name | Description |
---|---|
options.startTime
JulianDate
|
時(shí)鐘的開(kāi)始時(shí)間。 |
options.stopTime
JulianDate
|
時(shí)鐘的停止時(shí)間。 |
options.currentTime
JulianDate
|
當(dāng)前時(shí)間。 |
options.multiplier
Number
default 1.0
|
確定調(diào)用Clock#tick 時(shí)提前多少時(shí)間,負(fù)值允許向后推進(jìn)。
|
options.clockStep
ClockStep
default ClockStep.SYSTEM_CLOCK_MULTIPLIER
|
確定對(duì)Clock#tick 的調(diào)用是依賴(lài)于幀還是依賴(lài)于系統(tǒng)時(shí)鐘。
|
options.clockRange
ClockRange
default ClockRange.UNBOUNDED
|
確定當(dāng)達(dá)到Clock#startTime 或Clock#stopTime 時(shí)時(shí)鐘應(yīng)如何工作。
|
options.canAnimate
Boolean
default true
|
指示Clock#tick 是否可以提前時(shí)間。例如,如果正在緩沖數(shù)據(jù),這可能是錯(cuò)誤的。只有當(dāng)Clock#canAnimate 和Clock#shouldAnimate 都為真時(shí),時(shí)鐘才會(huì)滴答作響。
|
options.shouldAnimate
Boolean
default false
|
指示Clock#tick 是否應(yīng)嘗試提前時(shí)間。只有當(dāng)Clock#canAnimate 和Clock#shouldAnimate 都為真時(shí),時(shí)鐘才會(huì)滴答作響。
|
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 : 開(kāi)始時(shí)間必須在停止時(shí)間之前。
- ClockStep
- ClockRange
- JulianDate
See:
Members
canAnimate : Boolean
指示
Clock#tick
是否可以提前時(shí)間。例如,如果正在緩沖數(shù)據(jù),這可能是錯(cuò)誤的。只有當(dāng)Clock#canAnimate
和Clock#shouldAnimate
均為真時(shí),時(shí)鐘才會(huì)提前。
-
Default Value:
true
clockRange : ClockRange
確定當(dāng)達(dá)到
Clock#startTime
或Clock#stopTime
時(shí)時(shí)鐘應(yīng)如何工作。
-
Default Value:
ClockRange.UNBOUNDED
clockStep : ClockStep
確定對(duì)
Clock#tick
的調(diào)用是依賴(lài)于幀還是依賴(lài)于系統(tǒng)時(shí)鐘。將此屬性更改為ClockStep.SYSTEM_CLOCK
將設(shè)置Clock#multiplier
為1.0,Clock#shouldAnimate
為真,并Clock#currentTime
為當(dāng)前系統(tǒng)時(shí)鐘時(shí)間。
-
Default Value:
ClockStep.SYSTEM_CLOCK_MULTIPLIER
currentTime : JulianDate
multiplier : Number
獲取或設(shè)置調(diào)用
Clock#tick
時(shí)提前多少時(shí)間。負(fù)值允許向后推進(jìn)。如果Clock#clockStep
設(shè)置為ClockStep.TICK_DEPENDENT
,這是前進(jìn)的秒數(shù)。如果Clock#clockStep
設(shè)置為ClockStep.SYSTEM_CLOCK_MULTIPLIER
,該值將乘以自上次調(diào)用Clock#tick
以來(lái)經(jīng)過(guò)的系統(tǒng)時(shí)間。更改此屬性將Clock#clockStep
從ClockStep.SYSTEM_CLOCK
更改為ClockStep.SYSTEM_CLOCK_MULTIPLIER
。
-
Default Value:
1.0
onStop : Event
當(dāng)達(dá)到
Clock#stopTime
時(shí)觸發(fā)的Event
。
onTick : Event
每當(dāng)調(diào)用
Clock#tick
時(shí)被觸發(fā)的Event
。
shouldAnimate : Boolean
指示
Clock#tick
是否應(yīng)嘗試提前時(shí)間。只有當(dāng)Clock#canAnimate
和Clock#shouldAnimate
均為真時(shí),時(shí)鐘才會(huì)提前。更改此屬性將Clock#clockStep
從ClockStep.SYSTEM_CLOCK
更改為ClockStep.SYSTEM_CLOCK_MULTIPLIER
。
-
Default Value:
false
startTime : JulianDate
時(shí)鐘的開(kāi)始時(shí)間。
stopTime : JulianDate
時(shí)鐘的停止時(shí)間。
Methods
tick() → {JulianDate}
根據(jù)當(dāng)前配置選項(xiàng)從當(dāng)前時(shí)間提前時(shí)鐘。不管動(dòng)畫(huà)是否發(fā)生,每一幀都應(yīng)該調(diào)用勾號(hào)。要控制動(dòng)畫(huà),請(qǐng)使用
Clock#shouldAnimate
屬性。