Экран#
Введение#
Методы управления экраном определяют, как робот-программист VEX AIM отображает текст, цифры и графику на своем экране, а также как он реагирует на нажатия на экран.
Ниже приведён список всех методов:
Сенсорное управление – распознавание и реагирование на нажатия на экране.
pressing– Возвращает значение, указывающее, нажат ли экран в данный момент.x_position– Возвращает x-координату последнего нажатия на экран.y_position– Возвращает y-координату последнего нажатия на экран.
Cursor Print – отображение текста с использованием построчной/столбцовой системы.
print– Выводит текст, числа или значения переменных в текущей позиции курсора.set_cursor– Перемещает курсор в определенную строку и столбец.next_row– Перемещает курсор в столбец 1 следующей строки.clear_row– Очищает строку текста.get_row– Возвращает текущую строку курсора.get_column– Возвращает текущий столбец курсора.
XY Print – Отображение текста в заданных координатах на экране.
print_at– Выводит текст, числа или значения переменных в заданных координатах x и y.set_origin– Устанавливает начало координат, используемое для печати и рисования на основе координат.
Мутаторы – Очистите экран или обновите визуальные настройки.
clear_screen– Очищает экран от всех рисунков и текста.set_font– Устанавливает шрифт для печатного текста.set_pen_width– Задает толщину нарисованных линий и контуров фигур.set_pen_color– Задает цвет текста, пикселей, линий и контуров фигур.set_fill_color– Задает цвет заливки для нарисованных фигур и фона печатного текста.
Рисование – добавление графики и изображений на экран.
draw_pixel– Рисует пиксель в определенной позиции по осям x и y.draw_line– Рисует линию между двумя точками.draw_rectangle– Рисует прямоугольник.draw_circle– Рисует круг.show_file– Отображает загруженное изображение.set_clip_region– Ограничивает области, где могут отображаться рисунки и текст.
Обратные вызовы – Запуск функций при нажатии или отпускании кнопки на экране.
Трогать#
pressing#
При нажатии клавиши pressing возвращается логическое значение, указывающее, нажата ли в данный момент кнопка на экране робота.
True– Нажата кнопка на экране.False– Нажатие на экран не происходит.
Usage:
robot.screen.pressing()
Параметры |
Описание |
|---|---|
Этот метод не имеет параметров. |
# Turn LEDs white only while the screen is pressed.
while True:
if robot.screen.pressing():
robot.led.on(ALL_LEDS, WHITE)
else:
robot.led.off(ALL_LEDS)
wait(50, MSEC)
# Display different messages after the screen is pressed
while not robot.screen.pressing():
wait(5, MSEC)
robot.screen.print("First message!")
robot.screen.next_row()
# Lift finger to press the screen again
while robot.screen.pressing():
wait(5, MSEC)
while not robot.screen.pressing():
wait(5, MSEC)
robot.screen.print("Second message!")
robot.screen.next_row()
x_position#
Функция x_position возвращает координату x последнего нажатия на экран в виде целого числа от 0 (слева) до 240 (справа).
Usage:robot.screen.x_position()
Параметры |
Описание |
|---|---|
Этот метод не имеет параметров. |
# Display the x-coordinate of where
# the screen is pressed
while True:
if robot.screen.pressing():
robot.screen.clear_screen()
robot.screen.print(robot.screen.x_position())
wait (50, MSEC)
y_position#
Функция y_position возвращает y-координату последнего нажатия на экран в виде целого числа от 0 (сверху) до 240 (снизу).
Usage:robot.screen.y_position()
Параметры |
Описание |
|---|---|
Этот метод не имеет параметров. |
# Display the y-coordinate of where
# the screen is pressed
while True:
if robot.screen.pressing():
robot.screen.clear_screen()
robot.screen.print(robot.screen.y_position())
wait (50, MSEC)
Печать курсора#
print#
print выводит текст, числа или значения переменных на экран робота в текущей позиция курсора и шрифт.
Usage:robot.screen.print(text)
Параметры |
Описание |
|---|---|
|
Текст, число или значение переменной для отображения на экране. |
# Display a message at the starting cursor position
robot.screen.print("Hello, Robot!")

set_cursor#
set_cursor перемещает текстовый курсор в определенную строку и столбец на экране робота. Следующий вызов print начнет печать с этого места. Количество строк и столбцов, которые помещаются, зависит от выбранного шрифта. При использовании стандартного моноширинного шрифта среднего размера экран может четко отображать до 8 строк и 13 столбцов. Текст, размещенный за пределами этого диапазона, может быть обрезан или его будет сложнее читать.
Моноширинные шрифты имеют одинаковую ширину символов, что обеспечивает единообразие размещения текста. В отличие от них, пропорциональные шрифты различаются по ширине символов, поэтому некоторые буквы занимают больше места, чем другие. Однако, независимо от используемого типа, set_cursor позиционирует курсор на основе размера строки и столбца, а не стиля шрифта. Размер шрифта можно отрегулировать с помощью set_font.
Usage:robot.screen.set_cursor(row, column)
Параметры |
Описание |
|---|---|
|
Строка, в которую нужно переместить курсор. |
|
Столбец, в который нужно переместить курсор. |
# Display text starting at Row 3 Column 2
robot.screen.set_cursor(3, 2)
robot.screen.print("Row 3, Column 2")

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

clear_row#
clear_row очищает одну строку текста на экране робота.
Usage:robot.screen.clear_row(row, color)
Параметр |
Описание |
|---|---|
|
Необязательный параметр. Строка для очистки в виде целого числа. По умолчанию используется текущая строка курсора. |
|
Необязательно. Цвет, который будет применен к очищенной строке. Варианты:
|
# Display text on two rows
robot.screen.print("This text stays")
robot.screen.next_row()
robot.screen.print("This text disappears")
# Wait 3 seconds before clearing only the second row
wait(3, SECONDS)
robot.screen.clear_row()
# Turn the 5th row green
robot.screen.clear_row(5, GREEN)

get_row#
get_row get_row` возвращает текущую строку, в которой будет выведен текст в виде целого числа.
Usage:robot.screen.get_row()
Параметры |
Описание |
|---|---|
Этот метод не имеет параметров. |
# Set cursor to (3,2) and print row number
robot.screen.set_cursor(3, 2)
robot.screen.print(robot.screen.get_row())

get_column#
get_column возвращает текущий столбец, в котором будет выводиться текст в виде целого числа.
Usage:robot.screen.get_column()
Параметры |
Описание |
|---|---|
Этот метод не имеет параметров. |
# Set cursor to (3,2) and print column number
robot.screen.set_cursor(3, 2)
robot.screen.print(robot.screen.get_column())

Печать XY#
print_at#
print_at выводит текст, числа или значения переменных на экран робота в заданных координатах x и y в пикселях, используя текущие заданные font и origin. x задает, насколько далеко от левого края начинается текст, а y задает, где находится нижняя часть букв. Этот метод игнорирует текущее положение курсора.

Примечание: Красный круг показывает, какие координаты будут отображаться на круглом экране робота AIM. Координаты, выходящие за пределы красного круга, находятся в диапазоне 0–240, но не будут отображаться на экране.
Usage:
robot.screen.print_at(text, x, y)
Параметр |
Описание |
|---|---|
|
Текст, число или значение переменной для вывода на экран. |
|
Горизонтальное положение текста, заданное целым числом от 0 до 240 пикселей. 0 — слева; 240 — справа. |
|
Вертикальное положение текста, заданное целым числом от 0 до 240 пикселей. 0 — верхнее положение; 240 — нижнее. |
# Display a message in the middle of the screen
robot.screen.print_at("Hello, Robot!", x=40, y=120)

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

Мутаторы#
clear_screen#
clear_screen очищает все рисунки и текст с экрана робота. По умолчанию также сбрасывает положение курсора на строку 1, столбец 1.
Usage:
robot.screen.clear_screen(color)
Параметр |
Описание |
|---|---|
|
Необязательно. Задает цвет экрана. Варианты:
|
# Draw a circle, and clear it after 2 seconds
robot.screen.draw_circle(120, 120, 60)
wait(2, SECONDS)
robot.screen.clear_screen()
# Set the background color of the screen to red
robot.screen.clear_screen(RED)

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

set_pen_width#
set_pen_width задает толщину нарисованных линий и контуров фигур.
Usage:
robot.screen.set_pen_width(width)
Параметр |
Описание |
|---|---|
|
Ширина пера в пикселях, от 0 до 32. |
# Draw a rectangle with a pen width of 10
robot.screen.set_pen_width(10)
robot.screen.draw_rectangle(50, 50, 130, 60)

set_pen_color#
set_pen_color задает цвет текста, пикселей, линий и контуров фигур.
Usage:
robot.screen.set_pen_color(color)
Параметр |
Описание |
|---|---|
|
Optional. The pen and font color to use. Options include:
|
# Draw a rectangle with a red pen
robot.screen.set_pen_color(RED)
robot.screen.draw_rectangle(50, 50, 130, 60)

set_fill_color#
set_fill_color задает цвет заливки, используемый при рисовании фигур и при использовании фона в печатном тексте.
Usage:robot.screen.set_fill_color(color)
Параметр |
Описание |
|---|---|
|
Необязательно. Цвет заливки. Варианты:
|
# Draw two orange rectangles
robot.screen.set_fill_color(ORANGE)
robot.screen.draw_rectangle(50, 50, 100, 60)
robot.screen.draw_rectangle(50, 130, 100, 60)

# Display text with a purple background
robot.screen.set_fill_color(PURPLE)
robot.screen.print("Highlight")

Рисовать#
draw_pixel#
draw_pixel рисует один пиксель в выбранных координатах x и y, используя текущий цвет пера.
Usage:
robot.screen.draw_pixel(x, y)
Параметр |
Описание |
|---|---|
|
Координата x, по которой будет нарисован пиксель, задается целым числом от 0 до 240. |
|
Y-координата, по которой будет нарисован пиксель, задается целым числом от 0 до 240. |
# Draw a pixel at the center of the screen
robot.screen.draw_pixel(120, 120)
![]()
draw_line#
draw_line рисует линию от первой экранной координаты (x1, y1) до второй экранной координаты (x2, y2) используя текущие ширину пера и цвет пера.
Координаты x и y используют начало координат по умолчанию (0, 0), если только не было установлено другое начало координат с помощью set_origin.
Usage:
robot.screen.draw_line(x1, y1, x2, y2)
Параметр |
Описание |
|---|---|
|
Начальная x-координата линии, заданная целым числом от 0 до 240. |
|
Начальная y-координата линии, заданная целым числом от 0 до 240. |
|
Конечная x-координата линии, заданная целым числом от 0 до 240. |
|
Конечная y-координата линии, заданная целым числом от 0 до 240. |
# Draw a line from the top left to bottom right of the screen
robot.screen.draw_line(0, 0, 240, 240)

draw_rectangle#
draw_rectangle рисует прямоугольник с верхним левым углом в выбранной (x, y) координате и размером, определяемым заданными шириной и высотой, измеряемыми в пикселях. Контур прямоугольника рисуется с использованием текущих ширина пера и цвет пера. Внутренняя часть заполняется текущим цветом заливки, если не используется необязательный color.
Координаты x и y используют начало координат по умолчанию (0, 0), если только не было установлено другое начало координат с помощью set_origin.
Usage:robot.screen.draw_rectangle(x, y, width, height, color)
Параметр |
Описание |
|---|---|
|
Координата x верхнего левого угла прямоугольника, заданная целым числом от 0 до 240. |
|
Y-координата верхнего левого угла прямоугольника, заданная целым числом от 0 до 240. |
|
Ширина прямоугольника, заданная целым числом от 0 до 240. |
|
Высота прямоугольника, заданная целым числом от 0 до 240. |
|
Необязательно. Цвет заливки прямоугольника. Варианты:
|
# Draw a red rectangle on the screen
robot.screen.draw_rectangle(50, 50, 130, 60, RED)

draw_circle#
draw_circle рисует круг с центром в выбранной (x, y) координате и размером, определяемым заданным радиусом, все измеряется в пикселях. Контур круга рисуется с использованием текущих ширины пера и цвета пера. Внутренняя часть заполняется текущим цветом заливки, если не используется необязательный color.
Координаты x и y используют начало координат по умолчанию (0, 0), если только не было установлено другое начало координат с помощью set_origin.
Usage:robot.screen.draw_circle(x, y, radius, color)
Параметр |
Описание |
|---|---|
|
Координата x центра окружности, заданная целым числом от 0 до 240. |
|
Y-координата центра окружности, заданная целым числом от 0 до 240. |
|
Радиус окружности, заданный целым числом от 0 до 240 пикселей. |
|
Необязательно. Цвет заливки круга. Варианты:
|
# Draw a green circle on the screen
robot.screen.draw_circle(120, 120, 40, GREEN)

show_file#
show_file отображает на экране робота загруженное пользователем изображение, положение которого задается с помощью параметров x, yи center на основе опорной точки изображения.
Usage:
robot.screen.show_file(file, x, y, center)
Параметр |
Описание |
|---|---|
|
Пользовательское изображение для использования, от |
|
Горизонтальное смещение изображения, заданное целым числом в пикселях. Положительные значения сдвигают изображение вправо, отрицательные — влево. |
|
Вертикальное смещение изображения, заданное целым числом в пикселях. Положительные значения сдвигают его вниз, отрицательные — вверх. |
|
Необязательно. Если |
# Display uploaded Image 1 in the top left corner
robot.screen.show_file(IMAGE1, 0, 0)
# Show the same image on both sides of the screen
# Image size is 120 x 120
robot.screen.show_file(IMAGE1, 65, 0, center=True)
robot.screen.show_file(IMAGE1, -65, 0, center=True)
set_clip_region#
Параметр set_clip_region set_clip_region определяет прямоугольную область на экране, в пределах которой будут отображаться все рисунки и текст. Любое содержимое за пределами этой области отображаться не будет.
Usage:
robot.screen.set_clip_region(x, y, width, height)
Параметр |
Описание |
|---|---|
|
Координата x верхнего левого угла области обрезки, заданная в виде десятичной дроби ( |
|
Y-координата верхнего левого угла области клипа, заданная в виде десятичной дроби ( |
|
Ширина области обрезки в пикселях, заданная в виде десятичной дроби ( |
|
Высота области обрезки в пикселях, заданная в виде десятичной дроби ( |
# Restrict text and drawings to a specific region
robot.screen.set_clip_region(0, 0, 120, 120)
robot.screen.draw_rectangle(60, 60, 100, 100, RED)
robot.screen.print_at("Cut off!", x=60, y=60)

Обратные звонки#
pressed#
pressed регистрирует метод, который будет вызываться при нажатии на экран робота.
Usage:robot.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. |
# Set the LEDs to green when the screen is pressed.
def screen_touched():
robot.led.on(ALL_LEDS, GREEN)
robot.screen.pressed(screen_touched)
released#
released регистрирует метод, который будет вызван при отпускании экрана робота.
Usage:robot.screen.released(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. |
# Set the LEDs to blue when the screen is released.
def screen_released():
robot.led.on(ALL_LEDS, BLUE)
robot.screen.released(screen_released)










