用來(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)用是依賴于幀還是依賴于系統(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)用是依賴于幀還是依賴于系統(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屬性。