计时器#

简介#

VEX AIM 编程机器人的计时器会记录项目开始以来经过的时间。它可以用来测量某项任务所需的时间,也可以重置计时器以进行新的计时操作。

以下是所有方法的列表:

方法 – 控制定时器。

  • [reset] (#reset) –将计时器重置为零。

  • [time] (#time) –返回用了多少时间。

  • [event] (#event) –注册一个函数,在指定的毫秒数后调用。

构造函数 – 创建一个计时器来跟踪时间。

  • [Timer] (#timer) –创建一个可以与这些方法一起使用的新定时器对象。

方法#

reset#

reset 将计时器设置为零。这可用于在同一项目中定时其他代码部分。

用法:

timer.reset()

参数

描述

该方法没有参数。

# Display how long a turn takes
robot.move_for(100, 0)
timer.reset()
robot.turn_for(RIGHT, 90)
robot.screen.print("Time elapsed:")
robot.screen.next_row()
robot.screen.print("%d seconds" % timer.time(SECONDS))

time#

time 以小数形式返回自上次重置计时器以来经过的时间。计时器在项目启动时自动重置。

用法:

timer.time(units)

参数

描述

units

表示时间的单位:MSEC(默认)— 毫秒,或 SECONDS

# Print the time in seconds
# and in milliseconds on the next row.
while timer.time(SECONDS) <= 5:
    robot.screen.clear_screen()
    robot.screen.set_cursor(1, 1)
    robot.screen.print("Time: %d" % timer.time(MSEC))
    robot.screen.next_row()
    robot.screen.print("Time: %.2f" % timer.time(SECONDS))
    wait(50, MSEC)

event#

event 在指定时间过后调用一个函数。

用法:

timer.event(callback, delay, arg)

参数

描述

callback

当计时器事件发生时执行的函数。

delay

函数调用前的延迟,以毫秒为单位。

arg

可选。包含要传递给回调函数的参数的元组。有关更多信息,请参阅使用带参数的事件

# Create a function to play a sparkle sound
def timer_callback():
    robot.sound.play(SPARKLE)

# Call the function after 2000 milliseconds (2 seconds)
timer.event(timer_callback, 2000)

构造函数#

Timer#

Timer 创建一个新的计时器。 Timer 对象将立即开始计数其创建的时刻,并将与所有 timer 方法一起使用。

Usage:
Timer()

范围

描述

此构造函数没有参数。

## Display 2 timers with a 2 second difference
wait(2, SECONDS)

stopwatch = Timer()

while True:
    robot.screen.clear_screen()

    robot.screen.set_cursor(1, 1)
    robot.screen.print("Timer:")
    robot.screen.set_cursor(2, 1)
    robot.screen.print(timer.time(SECONDS))

    robot.screen.set_cursor(4, 1)
    robot.screen.print("Stopwatch:")
    robot.screen.set_cursor(5, 1)
    robot.screen.print(stopwatch.time(SECONDS))

    wait(0.1, SECONDS)