计时器#
简介#
VEX AIR 无人机控制器的计时器会记录项目开始以来经过的时间。它可以用来测量某项任务所需的时间,也可以重置计时器以进行新的计时操作。
以下是所有可用方法的列表:
动作——控制计时器。
reset–将计时器重置为零。
获取方法 – 报告当前计时器值。
time–返回用了多少时间。
回调——延迟后触发函数。
event–注册一个函数,在指定的毫秒数后调用。
构造函数——创建一个计时器来跟踪时间。
Timer- 创建一个新的计时器对象,可与这些方法一起使用。
动作#
reset#
reset 将计时器设置为零。这可用于在同一项目中定时其他代码部分。
用法:
timer.reset()
参数 |
描述 |
|---|---|
该方法没有参数。 |
# Display the time the drone takes to climb upwards.
drone.take_off(500)
timer.reset()
drone.climb_for(UP, 500)
controller.screen.print("Time elapsed: ")
controller.screen.print(timer.time(SECONDS))
drone.land()
获取方法#
time#
time 以小数形式返回自上次重置计时器以来经过的时间。计时器在项目启动时自动重置。
用法:
timer.time(units)
参数 |
描述 |
|---|---|
|
表示时间的单位: |
# Display the time in two units.
while True:
controller.screen.clear_screen()
controller.screen.set_cursor(1, 1)
controller.screen.print("Time: {} ms".format(timer.time(MSEC)))
controller.screen.next_row()
controller.screen.print("Time: {:.2f} s".format(timer.time(SECONDS)))
wait(50, MSEC)
回调#
event#
event 在指定时间过后调用一个函数。
用法:
timer.event(callback, delay, arg)
参数 |
描述 |
|---|---|
|
当计时器事件发生时执行的函数。 |
|
函数调用前的延迟,以毫秒为单位。 |
|
可选。包含要传递给回调函数的参数的元组。有关更多信息,请参阅使用带参数的事件。 |
# Create a function to play a looping sound.
def on_timer():
controller.sound.play(LOOPING)
# Play the sound after 4 seconds (4000 mS).
timer.event(on_timer, 4000)
构造函数#
Timer#
Timer 创建一个新的计时器。 Timer 对象将立即开始计数其创建的时刻,并将与所有 timer 方法一起使用。
用法:
Timer()
参数 |
描述 |
|---|---|
此构造函数没有参数。 |
# Display 2 timers with a 2 second difference.
wait(2, SECONDS)
stopwatch = Timer()
while True:
controller.screen.clear_screen()
controller.screen.set_cursor(1, 1)
controller.screen.print("Timer: ")
controller.screen.print(timer.time(SECONDS))
controller.screen.set_cursor(4, 1)
controller.screen.print("Stopwatch: ")
controller.screen.print(stopwatch.time(SECONDS))
wait(0.1, SECONDS)