JSAPI Three API Reference
    正在准备搜索索引...

    类 EngineClock

    引擎时钟系统,用于管理和控制时间流逝。
    该类会随Engine的初始化自动实例化,不需要开发者手动执行初始化,通过engine.clock访问。
    提供多种时钟模式,支持时间循环、限制、速度控制等功能。

    // 访问时钟
    const clock = engine.clock;

    // 设置当前时间
    clock.currentTime = new Date('2024-01-01 10:00:00');
    索引

    构造函数

    • 参数

      • options: {
            currentTime?: Date;
            speed?: number;
            startTime?: Date;
            stopTime?: Date;
            tickMode?: number;
            timeZoneOffset?: number;
        } = {}

        时钟配置选项

        • 可选currentTime?: Date

          当前时间,未设置则使用当天10:00:00

        • 可选speed?: number

          时间流速倍率

        • 可选startTime?: Date

          开始时间,未设置则使用当前时间

        • 可选stopTime?: Date

          停止时间,未设置则使用当前时间

        • 可选tickMode?: number

          时钟模式,可选值:TICK_NONE、TICK_NORMAL、TICK_LOOP、TICK_CLAMP

        • 可选timeZoneOffset?: number

          时区偏移量(小时),例如东八区为8

      返回 EngineClock

    属性

    TICK_CLAMP: number = 3

    限制模式,时间会被限制在开始和停止时间之间

    TICK_LOOP: number = 2

    循环模式,时间到达停止时间后循环到开始时间

    TICK_NONE: number = 0

    无任何限制模式,时间不会自动流逝

    TICK_NORMAL: number = 1

    正常模式,忽略起止时间限制

    方法

    • 重置时钟到开始时间

      返回 void

    访问器

    • get currentTime(): Date

      获取当前本地时间

      返回 Date

      当前本地时间(缓存对象,请勿修改)

    • set currentTime(value: Date): void

      设置当前本地时间

      参数

      • value: Date

        要设置的本地时间

      返回 void

    • get currentTimeUTC(): Date

      获取当前UTC时间

      返回 Date

      当前UTC时间(缓存对象,请勿修改)

    • set currentTimeUTC(value: Date): void

      设置当前UTC时间

      参数

      • value: Date

        要设置的UTC时间

      返回 void

    • get speed(): number

      获取时间流速倍率

      返回 number

      时间流速倍率

    • set speed(value: number): void

      设置时间流速倍率

      参数

      • value: number

        时间流速倍率,例如2表示2倍速,0.5表示0.5倍速

      返回 void

    • get startTime(): Date

      获取开始时间

      返回 Date

      开始时间(本地时区)

    • set startTime(value: Date): void

      设置开始时间

      参数

      • value: Date

        要设置的开始时间(本地时区)

      返回 void

    • get stopTime(): Date

      获取停止时间

      返回 Date

      停止时间(本地时区)

    • set stopTime(value: Date): void

      设置停止时间

      参数

      • value: Date

        要设置的停止时间(本地时区)

      返回 void

    • get tickMode(): number

      获取时钟模式

      返回 number

      时钟模式:TICK_NONE、TICK_NORMAL、TICK_LOOP、TICK_CLAMP

    • set tickMode(value: number): void

      设置时钟模式

      参数

      • value: number

        时钟模式:TICK_NONE、TICK_NORMAL、TICK_LOOP、TICK_CLAMP

      返回 void

    • get timeZoneOffset(): number

      获取时区偏移量

      返回 number

      时区偏移量(小时)

    • set timeZoneOffset(value: number): void

      设置时区偏移量

      参数

      • value: number

        时区偏移量(小时),例如东八区为8,西五区为-5

      返回 void