Екран#
Вступ#
Методи Screen контролюють, як контролер дрона VEX AIR відображає текст, числа, графіку та зображення на екрані, а також як він реагує на натискання на екран.
Нижче наведено список доступних методів:
Друк курсора – відображення тексту та керування курсором друку.
print– Друкує текст, числа або значення змінних у поточній позиції курсора.set_cursor– Переміщує курсор до певного рядка та стовпця.next_row– Переміщує курсор до стовпця 1 наступного рядка.clear_row– Очищає рядок тексту.get_row– Повертає рядок, у який буде надруковано текст.get_column– Повертає стовпець, у який буде надруковано текст.
Друк XY – Друк тексту за піксельними координатами.
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) у пікселях, використовуючи поточні font та origin. 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 перемикає малювання екрана в режим render-later. Після виконання цього методу наступні команди екрана не з’являтимуться на екрані контролера, доки не буде виконано наступний метод 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)
Параметр |
Опис |
|---|---|
|
Sets the font to one of the following:
|
|
|
|
|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
# 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)
Параметр |
Опис |
|---|---|
|
Optional. Sets the pen and font color. Options include:
|
# 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)
Параметри |
Опис |
|---|---|
|
Функція function, яку попередньо визначено для виконання при натисканні екрана контролера. |
|
Необов’язково. Кортеж tuple, що містить аргументи для передачі функції зворотного виклику. Див. Використання функцій з параметрами для отримання додаткової інформації. |
# 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)
Параметри |
Опис |
|---|---|
|
Функція function, попередньо визначена для виконання при відпусканні екрана контролера. |
|
Необов’язково. Кортеж tuple, що містить аргументи для передачі функції зворотного виклику. Див. Використання функцій з параметрами для отримання додаткової інформації. |
# Play a sound when the screen is pressed.
def play_sound():
controller.sound.play_note("C5", 500)
controller.screen.released(play_sound)













