Clock

用来跟踪模拟时间的简单时钟。
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#startTimeClock#stopTime时时钟应如何工作。
options.canAnimate
Boolean
default true
指示Clock#tick是否可以提前时间。例如,如果正在缓冲数据,这可能是错误的。只有当Clock#canAnimateClock#shouldAnimate都为真时,时钟才会滴答作响。
options.shouldAnimate
Boolean
default false
指示Clock#tick是否应尝试提前时间。只有当Clock#canAnimateClock#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
See:

Members

canAnimate : Boolean

指示Clock#tick是否可以提前时间。例如,如果正在缓冲数据,这可能是错误的。只有当Clock#canAnimateClock#shouldAnimate均为真时,时钟才会提前。
Default Value: true

clockRange : ClockRange

确定当达到Clock#startTimeClock#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

当前时间。更改此属性将Clock#clockStepClockStep.SYSTEM_CLOCK更改为ClockStep.SYSTEM_CLOCK_MULTIPLIER

multiplier : Number

获取或设置调用Clock#tick时提前多少时间。负值允许向后推进。如果Clock#clockStep设置为ClockStep.TICK_DEPENDENT,这是前进的秒数。如果Clock#clockStep设置为ClockStep.SYSTEM_CLOCK_MULTIPLIER,该值将乘以自上次调用Clock#tick以来经过的系统时间。更改此属性将Clock#clockStepClockStep.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#canAnimateClock#shouldAnimate均为真时,时钟才会提前。更改此属性将Clock#clockStepClockStep.SYSTEM_CLOCK更改为ClockStep.SYSTEM_CLOCK_MULTIPLIER
Default Value: false

startTime : JulianDate

时钟的开始时间。

stopTime : JulianDate

时钟的停止时间。

Methods

tick() → {JulianDate}
根据当前配置选项从当前时间提前时钟。不管动画是否发生,每一帧都应该调用勾号。要控制动画,请使用Clock#shouldAnimate属性。