Class: Clock

Clock

new Clock()

用于记录模拟时间的简易时钟。

Name Type Default Description
options.startTime JulianDate 可选

时钟的开始时间。

options.stopTime JulianDate 可选

时钟的停止时间。

options.currentTime JulianDate 可选

当前时间。

options.multiplier Number 1.0 可选

确定调用Clock#tick时前进的时间,负值允许向后前进。

options.clockStep ClockStep ClockStep.SYSTEM_CLOCK_MULTIPLIER 可选

确定对Clock#tick的调用是帧相关还是系统时钟相关。

options.clockRange ClockRange ClockRange.UNBOUNDED 可选

确定当达到#startTime#stopTime时时钟应该如何表现。

options.canAnimate Boolean true 可选

Clock#tick是否可以提前时间。例如,如果正在缓冲数据,则该值可能为false。只有当#canAnimate#shouldAnimate都为true时,时钟才会滴答。

options.shouldAnimate Boolean true 可选

指示Clock#tick是否应该尝试提前时间。只有当#canAnimate#shouldAnimate都为true时,时钟才会滴答。

See:
  • ClockStep
  • ClockRange
  • JulianDate
Throws:

startTime必须在stopTime之前。

Type
DeveloperError
Example
// Create a clock that loops on Christmas day 2013 and runs in real-time.
var clock = new SuperMap3D.Clock({
   startTime : SuperMap3D.JulianDate.fromIso8601("2013-12-25"),
   currentTime : SuperMap3D.JulianDate.fromIso8601("2013-12-25"),
   stopTime : SuperMap3D.JulianDate.fromIso8601("2013-12-26"),
   clockRange : SuperMap3D.ClockRange.LOOP_STOP,
   clockStep : SuperMap3D.ClockStep.SYSTEM_CLOCK_MULTIPLIER
});

Members

canAnimateBoolean

Clock#tick是否可以提前时间。例如,如果正在缓冲数据,则该值可能为false。 只有当#canAnimate#shouldAnimate都为true时,时钟才会提前时间。

Default Value:
true

clockRangeClockRange

确定当达到#startTime#stopTime时,时钟应该如何表现。

Default Value:
ClockRange.UNBOUNDED

clockStepClockStep

确定对Clock#tick的调用是帧相关还是系统时钟相关。 将此属性更改为ClockStep。SYSTEM_CLOCK将设置Clock#multiplier为1.0, Clock#shouldAnimate设置为true,以及Clock#currentTime到当前系统时钟时间。

Default Value:
ClockStep.SYSTEM_CLOCK_MULTIPLIER

currentTimeJulianDate

当前时间。 更改此属性将从clockStep。 SYSTEM_CLOCK}到ClockStep.SYSTEM_CLOCK_MULTIPLIER

multiplierNumber

获取或设置调用Clock#tick时前进的时间。负值允许向后推进。 如果Clock#clockStep设置为clockStep。TICK_DEPENDENT,这是前进的秒数。 如果Clock#clockStep设置为clockStep。SYSTEM_CLOCK_MULTIPLIER,该值乘以自上次调用tick以来经过的系统时间。 更改此属性将从clockStep。SYSTEM_CLOCK}到ClockStep.SYSTEM_CLOCK_MULTIPLIER

Default Value:
1.0

onStopEvent

Clock#stopTime被调用时触发的Event

onTickEvent

Clock#tick被调用时触发的Event

shouldAnimateBoolean

指示Clock#tick是否应该尝试提前时间。 只有当#canAnimate#shouldAnimate都为true时,时钟才会提前时间。 更改此属性将从clockStep ClockStep.SYSTEM_CLOCK to ClockStep.SYSTEM_CLOCK_MULTIPLIER

Default Value:
true

startTimeJulianDate

时钟的开始时间。

stopTimeJulianDate

时钟的停止时间。

Methods

tick(){JulianDate}

根据当前配置选项,从当前时间往前调时钟。 Tick应该在每一帧被调用,不管动画是否正在发生。 要控制动画,可以使用shouldAnimate属性。

Returns:
Type Description
JulianDate The new value of the Clock#currentTime property.