Экран#
Введение#
Методы управления экраном определяют, как контроллер дрона VEX AIR отображает текст, цифры, графику и изображения на своем экране, а также как он реагирует на нажатия на экран.
Ниже приведён список доступных методов:
Печать курсора – отображение текста и управление курсором печати.
print– Выводит текст, числа или значения переменных в текущей позиции курсора.set_cursor– Перемещает курсор в определенную строку и столбец.next_row– Перемещает курсор в столбец 1 следующей строки.clear_row– Очищает строку текста.get_row– Возвращает строку, в которой будет напечатан текст.get_column– Возвращает столбец, в котором будет напечатан текст.
XY Print – Печать текста в пиксельных координатах.
print_at– Выводит текст, числа или значения переменных в заданных координатах x и y.set_origin– Устанавливает начало координат, используемое для печати и рисования на основе координат.
Мутаторы – Изменяют настройки экрана, цвета и поведение отрисовки.
clear_screen– Удаляет все рисунки, текст и изображения с экрана контроллера.wait_for_render– Переключает отрисовку на экране на поведение отложенной отрисовки.set_font– Устанавливает шрифт для печатного текста.set_pen_width– Задает толщину нарисованных линий и контуров фигур.set_pen_color– Задает цвет текста, пикселей, линий и контуров фигур.set_text_fill_color– Устанавливает цвет заливки за печатным текстом.set_fill_color– Задает цвет заливки для нарисованных фигур.
Рисование – добавление графики и изображений на экран.
draw_pixel– Рисует один пиксель в определенной позиции по осям x и y.draw_line– Рисует линию между двумя точками.draw_rectangle– Рисует прямоугольник, используя текущий цвет пера и заливки.draw_circle– Рисует круг, используя текущий цвет пера и заливки.show_file– Рисует загруженное изображение.
Сенсорное управление – распознавание и реагирование на нажатия на экране.
pressing– Возвращает значение, указывающее, нажат ли экран в данный момент.x_position– Возвращает x-координату последнего нажатия на экран.y_position– Возвращает y-координату последнего нажатия на экран.
Обратные вызовы – Запуск функций при нажатии или отпускании кнопки на экране.
Печать курсора#
print#
print выводит текст, числа или значения переменных на экран контроллера в текущей позиции курсора и шрифте.
Usage:
controller.screen.print(text)
Параметры |
Описание |
|---|---|
|
Текст, число или значение переменной для вывода на экран. |
|
Необязательный параметр. Разделитель между печатным текстом. По умолчанию |
|
Необязательный параметр. Строка, добавляемая после последнего напечатанного текста. По умолчанию: |
|
Необязательный параметр. Количество десятичных знаков, с которыми число с плавающей запятой будет выводиться как целое число. По умолчанию точность |
# Display a message at the starting cursor position.
controller.screen.print("Time to fly!")

# Display the first 2 decimals of pi
controller.screen.print(3.1415, precision = 2)

set_cursor#
set_cursor перемещает курсор в определенную строку и столбец на экране контроллера. Следующий вызов print начнет печать с этого места. Межстрочный и межстолбцовый интервал будет зависеть от выбранного шрифта. При использовании стандартного моноширинного шрифта среднего размера экран может четко отображать до 18 строк и 53 столбцов. Текст, размещенный за пределами этого диапазона, может быть обрезан или его будет сложнее читать.
Usage:
controller.screen.set_cursor(row, col)
Параметры |
Описание |
|---|---|
|
Строка, в которую нужно переместить курсор. |
|
Столбец, в который нужно переместить курсор. |
# Display text starting at Row 7 Column 25.
controller.screen.set_cursor(row=7, col=25)
controller.screen.print("Row 7, Column 25")

next_row#
next_row перемещает курсор в столбец 1 следующей строки на экране контроллера.
Usage:
controller.screen.next_row()
Параметры |
Описание |
|---|---|
Этот метод не имеет параметров. |
# Display two lines of text.
controller.screen.print("Line 1")
controller.screen.next_row()
controller.screen.print("Line 2")

clear_row#
clear_row очищает строку текста на экране контроллера.
Usage:
controller.screen.clear_row(row, color)
Параметр |
Описание |
|---|---|
|
Необязательный параметр. Строка для очистки. По умолчанию используется текущая строка курсора. |
|
Optional. The color to apply to the cleared row. If a color is not specified, the
|
# Clear only the second row of text
controller.screen.print("This text stays")
controller.screen.next_row()
controller.screen.print("This text disappears")
wait(3, SECONDS)
controller.screen.clear_row(2)
# Turn the 5th row green.
controller.screen.clear_row(5, GREEN)
get_row#
get_row возвращает текущую строку, в которой будет выведен текст, в виде целого числа.
Usage:
controller.screen.get_row()
Параметры |
Описание |
|---|---|
Этот метод не имеет параметров. |
# Display the cursor's current row.
controller.screen.set_cursor(row=7, col=25)
controller.screen.print(controller.screen.get_row())

get_column#
get_column возвращает текущий столбец, в котором будет напечатан текст, в виде целого числа.
Usage:
controller.screen.get_column()
Параметры |
Описание |
|---|---|
Этот метод не имеет параметров. |
# Display the cursor's current column.
controller.screen.set_cursor(row=7, col=25)
controller.screen.print(controller.screen.get_column())

Печать XY#
print_at#
print_at выводит текст, числа или значения переменных на экран контроллера в определенной позиции (x, y) в пикселях, используя текущий шрифт и источник. x задает, насколько далеко от левого края начинается текст, а y задает, где находится нижняя часть букв. Этот метод игнорирует текущую позицию курсора.
Usage:
controller.screen.print_at(text, x, y)
Параметр |
Описание |
|---|---|
|
Текст, число или значение переменной для вывода на экран. |
|
Горизонтальное положение текста, заданное целым числом от 0 до 640 пикселей. 0 — слева; 640 — справа. |
|
Вертикальное положение текста, заданное целым числом от 0 до 480 пикселей. 0 — верхнее положение; 480 — нижнее. |
# Display a message in the middle of the screen.
controller.screen.print_at("Hello, drone!", x=320, y=240)

set_origin#
set_origin устанавливает начало координат (0, 0), используемое для рисования и печати на экране контроллера. По умолчанию начало координат находится в верхнем левом углу экрана. Этот метод позволяет сбросить начало координат на альтернативное местоположение в координатах экрана (x, y).
Usage:
controller.screen.set_origin(x, y)
Параметр |
Описание |
|---|---|
|
Новая координата x, устанавливаемая в качестве начала координат, задается целым числом от 0 до 640. |
|
Новая y-координата, устанавливаемая в качестве начала координат, задается целым числом от 0 до 480. |
# Set the origin to the center of the screen.
controller.screen.set_origin(x=320, y=240)
# Draw a rectangle at the new origin.
controller.screen.draw_rectangle(x=0, y=0, width=80, height=40)

Мутаторы#
clear_screen#
clear_screen очищает все рисунки, текст и изображения с экрана контроллера.
Usage:
controller.screen.clear_screen(row, col, color)
Параметр |
Описание |
|---|---|
|
Необязательный параметр. Строка, в которую будет перемещен курсор после очистки экрана. По умолчанию — 1. |
|
Необязательно. Столбец, в который будет перемещен курсор после очистки экрана. По умолчанию — 1. |
|
Необязательно. Задает цвет экрана. Если включены строки
|
# Draw a circle, and clear it after 2 seconds.
controller.screen.draw_circle(x=320, y=240, radius=80)
wait(2, SECONDS)
controller.screen.clear_screen()
# Print two messages in the same spot
controller.screen.print("Hello!")
wait(3,SECONDS)
controller.screen.clear_screen(row=1, col=1)
controller.screen.print("Goodbye!")
# Set the background color of the screen to red.
controller.screen.clear_screen(color=RED)
wait_for_render#
wait_for_render переключает отрисовку экрана на режим отложенной отрисовки. После выполнения этого метода последующие команды отрисовки не будут отображаться на экране контроллера до выполнения следующего метода wait_for_render.
Примечание: Используйте этот параметр перед отрисовкой группы текста, фигур или изображений, а затем используйте его снова, чтобы отобразить все обновление сразу.
Usage:
controller.screen.wait_for_render()
Параметр |
Описание |
|---|---|
Этот метод не имеет параметров. |
# Display text and images when button 7 is pressed.
controller.screen.wait_for_render()
controller.screen.print("Screen rendered!")
controller.screen.draw_circle(x=320, y=240, radius=80)
while not controller.button7.pressing():
wait(5, MSEC)
controller.screen.wait_for_render()

set_font#
set_font задает шрифт, используемый для отображения текста на экране контроллера. Этот шрифт будет применяться ко всему тексту, выводимому после выполнения этого метода. Шрифт по умолчанию в начале проекта — MONO20.
Usage:
controller.screen.set_font(fontname)
Параметр |
Описание |
|---|---|
|
Устанавливает шрифт на один из следующих вариантов:
|
|
|
|
|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
# Display text using a larger font.
controller.screen.set_font(MONO40)
controller.screen.print("VEX")

set_pen_width#
set_pen_width задает толщину нарисованных линий и контуров фигур.
Usage:
controller.screen.set_pen_width(width)
Параметр |
Описание |
|---|---|
|
Ширина пера, заданная целым числом в пикселях. |
# Draw a rectangle with a pen width of 10.
controller.screen.set_pen_width(10)
controller.screen.draw_rectangle(x=200, y=200, width=200, height=80)

set_pen_color#
set_pen_color задает цвет текста, пикселей, линий и контуров фигур.
Usage:
controller.screen.set_pen_color(color)
Параметр |
Описание |
|---|---|
|
Необязательно. Задает цвет пера и шрифта. Варианты:
|
# Draw a rectangle with an orange outline.
controller.screen.set_pen_color(ORANGE)
controller.screen.draw_rectangle(x=200, y=150, width=240, height=150)
controller.screen.set_pen_color(WHITE)
controller.screen.print_at("VEXcode AIR", x=250, y=220)

set_text_fill_color#
set_text_fill_color задает цвет заливки печатного текста. Цвет заливки текста по умолчанию — прозрачный.
Usage:
controller.screen.set_text_fill_color(color)
Параметр |
Описание |
|---|---|
|
Необязательно. Задает цвет заливки текста. Варианты:
|
# Display two colors behind text
controller.screen.set_text_fill_color(RED)
controller.screen.print("Red")
controller.screen.next_row()
controller.screen.set_text_fill_color(BLUE)
controller.screen.print("Blue")

set_fill_color#
set_fill_color задает цвет заливки, используемый при рисовании фигур. Цвет заливки по умолчанию — черный.
Usage:
controller.screen.set_fill_color(color)
Параметр |
Описание |
|---|---|
|
Необязательно. Задает цвет заливки. Варианты:
|
# Draw an orange-filled rectangle with text on top
controller.screen.set_fill_color(ORANGE)
controller.screen.draw_rectangle(x=200, y=150, width=250, height=150)
controller.screen.print_at("VEXcode AIR", x=250, y=220)

Рисовать#
draw_pixel#
draw_pixel рисует один пиксель в выбранных координатах x и y, используя текущий цвет пера.
Usage:
controller.screen.draw_pixel(x, y)
Параметр |
Описание |
|---|---|
|
Координата x, по которой будет нарисован пиксель, задается целым числом от 0 до 640. |
|
Y-координата, по которой будет нарисован пиксель, задается целым числом от 0 до 480. |
# Draw five pixels in a diagonal.
controller.screen.draw_pixel(x=360, y=200)
controller.screen.draw_pixel(x=340, y=220)
controller.screen.draw_pixel(x=320, y=240)
controller.screen.draw_pixel(x=300, y=260)
controller.screen.draw_pixel(x=280, y=280)
![]()
draw_line#
draw_line рисует линию от первой экранной координаты (x1, y1) до второй экранной координаты (x2, y2) используя текущие ширину пера и цвет пера.
Координаты x и y используют начало координат по умолчанию (0, 0), если только не было установлено другое начало координат с помощью set_origin.
Usage:
controller.screen.draw_line(x1, y1, x2, y2)
Параметр |
Описание |
|---|---|
|
Начальная x-координата линии, заданная целым числом от 0 до 640. |
|
Начальная y-координата линии, заданная целым числом от 0 до 480. |
|
Конечная x-координата линии, заданная целым числом от 0 до 640. |
|
Конечная y-координата линии, заданная целым числом от 0 до 480. |
# Make an X across the screen.
controller.screen.draw_line(x1=0, y1=0, x2=640, y2=480)
controller.screen.set_pen_color(CYAN)
controller.screen.draw_line(x1=0, y1=480, x2=640, y2=0)

draw_rectangle#
draw_rectangle рисует прямоугольник, используя текущие значения ширина пера, цвет пера и цвет заливки, если не используется необязательный параметр color.
Координаты x и y используют начало координат по умолчанию (0, 0), если только не было установлено другое начало координат с помощью set_origin.
Usage:
controller.screen.draw_rectangle(x, y, width, height, color)
Параметр |
Описание |
|---|---|
|
Координата x верхнего левого угла прямоугольника, заданная целым числом от 0 до 640. |
|
Y-координата верхнего левого угла прямоугольника, заданная целым числом от 0 до 480. |
|
Ширина прямоугольника, заданная целым числом от 0 до 640. |
|
Высота прямоугольника, заданная целым числом от 0 до 480. |
|
Optional. Sets the fill color of the rectangle. Options include:
|
# Draw two rectangles on the screen.
controller.screen.draw_rectangle(x=0, y=0, width=620, height=460)
controller.screen.draw_rectangle(x=200, y=180, width=200, height=100, color=GREEN)

draw_circle#
draw_circle рисует круг, используя текущие значения ширина пера, цвет пера и цвет заливки, если не используется необязательный параметр color.
Координаты x и y используют начало координат по умолчанию (0, 0), если только не было установлено другое начало координат с помощью set_origin.
Usage:
controller.screen.draw_circle(x, y, radius, color)
Параметр |
Описание |
|---|---|
|
Координата x центра окружности, заданная целым числом от 0 до 640. |
|
Y-координата центра окружности, заданная целым числом от 0 до 480. |
|
Радиус окружности, заданный целым числом от 0 до 480 пикселей. |
|
Optional. Sets the fill color of the circle. Options include:
|
# Draw one green circle on the screen.
controller.screen.set_fill_color(GREEN)
controller.screen.draw_circle(x=320, y=240, radius=200, color=GREEN)

show_file#
show_file отображает загруженное пользователем изображение на экране контроллера в позициях x и y, с возможностью масштабирования, поворота и альфа-прозрачности.
Usage:
controller.screen.show_file(file, x, y, scale_width, scale_height, rotation, use_alpha)
Параметр |
Описание |
|---|---|
|
Изображение, загруженное пользователем, для использования. Параметры изменятся, если имена изображений будут отредактированы в панели управления. |
|
Горизонтальное смещение изображения, заданное целым числом в пикселях. Положительные значения сдвигают изображение вправо, отрицательные — влево. |
|
Вертикальное смещение изображения, заданное целым числом в пикселях. Положительные значения сдвигают его вниз, отрицательные — вверх. |
|
Необязательный параметр. Ширина изображения, до которой производится масштабирование, указывается целым числом в пикселях. |
|
Необязательный параметр. Высота изображения, до которой производится масштабирование, указывается в пикселях целым числом. |
|
Необязательный параметр. Количество градусов для поворота изображения, заданное целым числом от 0 до 359. |
|
Необязательный параметр. Использовать ли альфа-канал изображения для прозрачности. Варианты: |
# Display uploaded Image 1 in the top left corner.
controller.screen.show_file(IMAGE1, x=0, y=0)
# Display uploaded Image 1 scaled to the full screen.
controller.screen.show_file(IMAGE1, x=65, y=0, scale_width=640, scale_height=480)
# Display uploaded Image 1 with rotation of 180 degrees.
controller.screen.show_file(IMAGE1, x=-65, y=0, rotation=180)
# Upload an image with a transparent background.
# Display uploaded Image 1 with alpha channel enabled.
controller.screen.show_file(IMAGE1, x=0, y=0, use_alpha=True)
Трогать#
pressing#
При нажатии клавиши pressing возвращается логическое значение, указывающее, нажата ли в данный момент кнопка на экране робота.
True– Нажата кнопка на экране.False– Нажатие на экран не происходит.
Usage:
controller.screen.pressing()
Параметры |
Описание |
|---|---|
Этот метод не имеет параметров. |
# Play a sound when the screen is pressed.
while True:
if controller.screen.pressing():
controller.sound.play_note("C5", 500)
wait(5, MSEC)
# Display different messages after the screen is pressed
while not controller.screen.pressing():
wait(5, MSEC)
controller.screen.print("First message!")
controller.screen.next_row()
# Lift finger to press the screen again
while controller.screen.pressing():
wait(5, MSEC)
while not controller.screen.pressing():
wait(5, MSEC)
controller.screen.print("Second message!")
controller.screen.next_row()
x_position#
Функция x_position возвращает координату x в пикселях, где экран был нажат в последний раз, в виде целого числа от 0 (слева) до 640 (справа).

Usage:
controller.screen.x_position()
Параметры |
Описание |
|---|---|
Этот метод не имеет параметров. |
# Play a high or low note based on where screen is pressed.
while True:
if controller.screen.pressing():
if controller.screen.x_position() > 320:
controller.sound.play_note("C6", 500)
else:
controller.sound.play_note("C4", 500)
wait(5, MSEC)
y_position#
Функция y_position возвращает координату Y в пикселях, где экран был нажат в последний раз, в виде целого числа от 0 (сверху) до 480 (снизу).

Usage:
controller.screen.y_position()
# Play a high or low note based on where screen is pressed.
while True:
if controller.screen.pressing():
if controller.screen.y_position() > 240:
controller.sound.play_note("C6", 500)
else:
controller.sound.play_note("C4", 500)
wait(5, MSEC)
Обратные звонки#
pressed#
pressed регистрирует функцию, которая будет вызвана при нажатии на экран контроллера.
Usage:
controller.screen.pressed(callback, arg)
Параметры |
Описание |
|---|---|
|
A function that is previously defined to execute when the controller screen is pressed. |
|
Optional. A tuple containing arguments to pass to the callback function. See Using Functions with Parameters for more information. |
# Play a sound when the screen is pressed.
def play_sound():
controller.sound.play_note("C5", 500)
controller.screen.pressed(play_sound)
released#
released регистрирует функцию, которая будет вызвана при отпускании экрана контроллера.
Usage:
controller.screen.released(callback, arg)
Параметры |
Описание |
|---|---|
|
A function that is previously defined to execute when the controller screen is released. |
|
Optional. A tuple containing arguments to pass to the callback function. See Using Functions with Parameters for more information. |
# Play a sound when the screen is pressed.
def play_sound():
controller.sound.play_note("C5", 500)
controller.screen.released(play_sound)













