用来跟踪模拟时间的简单时钟。
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
属性。