Экран#

Введение#

Методы управления экраном определяют, как V5 Brain отображает текст, цифры и графику на своем сенсорном экране, а также как он реагирует на касания.

По умолчанию для печати в Brain используется шрифт моноширинный малый, имеющий 12 строк и 48 столбцов.

Для рисования разрешение мозга составляет 480 x 240 пикселей.

Экран V5 Brain с красной сеткой, показывающий расположение 12 строк и 48 столбцов. Размеры в пикселях: 479 в ширину и 239 в высоту. Верхний левый угол начинается с (0,0) пикселей и строки 1, столбца 1, а нижний правый угол заканчивается на (479, 239) пикселей и строки 12, столбца 48.

Ниже приведён список всех методов:

Ввод и вывод текста курсором.

  • print — Выводит текст, числа или значения переменных в текущей позиции курсора.

  • set_cursor — Перемещает курсор в определенную строку и столбец.

  • next_row — Перемещает курсор в столбец 1 следующей строки.

  • clear_row — Очищает строку текста.

  • row — Возвращает строку, в которой будет напечатан текст.

  • column — Возвращает столбец, в котором будет напечатан текст.

  • print_at — Выводит текст, числа или значения переменных в заданных координатах x и y.

  • get_string_width — Возвращает ширину строки в пикселях, используя текущий шрифт.

  • get_string_height — Возвращает высоту строки в пикселях, используя текущий шрифт.

  • clear_line — Очищает строку текста.

  • new_line — Перемещает курсор на новую строку.

Мутаторы — Изменяют настройки экрана, цвета и поведение отрисовки.

  • clear_screen — Очищает экран от всех рисунков и текста.

  • set_font — Устанавливает шрифт для печатного текста.

  • set_pen_width — Задает толщину нарисованных линий и контуров фигур.

  • set_pen_color — Задает цвет текста, пикселей, линий и контуров фигур.

  • set_fill_color — Задает цвет заливки для нарисованных фигур и фона печатного текста.

  • set_origin — Устанавливает начало координат, используемое для печати и рисования на основе координат.

Рисование — Добавление графических элементов на экран.

  • draw_pixel — Рисует один пиксель по заданной координате.

  • draw_line — Рисует линию между двумя точками.

  • draw_rectangle — Рисует прямоугольник.

  • draw_circle — Рисует круг.

  • render — Обновляет экран Мозга текстом и рисунками только при вызове.

  • set_clip_region — Ограничивает области, где могут отображаться рисунки и текст.

Геттеры — Проверка состояния и положения сенсорного экрана.

  • pressing — Возвращает значение, указывающее, нажат ли экран.

  • x_position — Возвращает x-координату последнего нажатия на экран.

  • y_position — Возвращает y-координату последнего нажатия на экран.

Обратные вызовы — Реагируют на события касания на экране.

  • pressed — Регистрирует функцию, которая будет вызвана при нажатии на экран.

  • released — Регистрирует функцию, которая будет вызвана при отпускании экрана.

Для получения информации о создании Мозга для доступа к методам экрана screen . Мозг.

Печать курсора#

print#

print выводит текст, числа или значения переменных на экран Brain в текущей позиции курсора и с использованием текущего шрифта.

Применение:

brain.screen.print(text, sep, precision)

Параметры

Описание

text

Текст, число или значение переменной для вывода.

sep

Необязательный параметр. Строка для вставки между значениями. Необходимо указать в качестве ключевого аргумента (sep=). Значение по умолчанию: “”.

precision

Необязательный параметр. Количество десятичных знаков, отображаемых при выводе простых чисел. Этот параметр необходимо указывать в качестве ключевого аргумента (precision=). Значение по умолчанию — 2.

# Print on the Brain's screen
brain.screen.print("Hello, Robot!")

Скриншот V5 Brain, на котором в верхнем левом углу белым текстом написано «Hello Robot».

set_cursor#

set_cursor перемещает курсор в определенную строку и столбец на экране Brain. Следующий вызов print начнет печать с этого места. Количество строк и столбцов, которые могут комфортно поместиться, зависит от выбранного шрифта. При использовании стандартного моноширинного шрифта среднего размера можно четко отобразить до 8 строк и 13 столбцов. Текст, расположенный за пределами этого диапазона, может быть обрезан или стать трудночитаемым.

Моноширинные шрифты имеют одинаковую ширину символов, что обеспечивает единообразие размещения текста. В отличие от них, пропорциональные шрифты различаются по ширине символов, поэтому некоторые буквы занимают больше места, чем другие. Однако, независимо от используемого типа, set_cursor позиционирует курсор на основе размера строки и столбца, а не стиля шрифта. Размер шрифта можно отрегулировать с помощью set_font.

Применение:

brain.screen.set_cursor(row, column)

Параметры

Описание

row

Строка, в которую нужно переместить курсор.

column

Столбец, в который нужно переместить курсор.

# Display text starting at Row 3 Column 12
brain.screen.set_cursor(3, 12)
brain.screen.print("Row 3, Column 12")

Скриншот V5 Brain, показывающий строку 3, столбец 12, напечатанный в верхней части, ближе к центру экрана, в этом положении.

next_row#

next_row перемещает курсор на следующую строку.

Применение:

brain.screen.next_row()

Параметры

Описание

Этот метод не имеет параметров.

# Print two lines of text on the Brain's screen
brain.screen.print("Line 1")
brain.screen.next_row()
brain.screen.print("Line 2")

Скриншот экрана V5 Brain, на котором в верхнем левом углу отображаются две строки белого текста. Верхняя строка гласит «Строка 1», а вторая строка непосредственно под ней — «Строка 2».

clear_row#

clear_row очищает одну строку текста на экране «Мозг».

Применение:

brain.screen.clear_row(row, color)

Параметры

Описание

row

Необязательный параметр. Строка для очистки. По умолчанию используется текущая строка курсора.

color

Необязательно. Допустимый цвет, шестнадцатеричное значение или веб-строка.

# Only keep the text on row 1
brain.screen.print("This text stays")
brain.screen.next_row
brain.screen.print("This text disappears")
wait(3, SECONDS)

brain.screen.clear_row()

row#

row возвращает строку, в которой текст будет выведен в виде целого числа.

Применение:

brain.screen.row()

Параметры

Описание

Этот метод не имеет параметров.

# Display the cursor's current row
brain.screen.set_cursor(3, 2)
brain.screen.print(brain.screen.row())

Скриншот экрана V5 Brain, на котором в верхнем левом квадранте экрана, в позиции 3-й строки, 2-го столбца, отображается текст «3» белым цветом.

column#

Параметр column возвращает столбец, в котором текст будет выведен в виде целого числа.

Применение:

brain.screen.column()

Параметры

Описание

Этот метод не имеет параметров.

# Display the cursor's current column
brain.screen.set_cursor(3, 15)
brain.screen.print(brain.screen.column())

Скриншот экрана V5 Brain, на котором в верхнем левом квадранте экрана, в позиции 15 в 3-й строке и 15-м столбце, отображается текст 15 белым цветом.

get_string_width#

get_string_width возвращает ширину строки в пикселях в виде целого числа, используя текущий шрифт.

Usage:
brain.screen.get_string_width(string)

Параметры

Описание

string

Строка, которую нужно измерить.

get_string_height#

get_string_height возвращает высоту строки в пикселях в виде целого числа, используя текущий шрифт.

Usage:
brain.screen.get_string_height(string)

Параметры

Описание

string

Строка, которую нужно измерить.

clear_line#

clear_line очищает текущую строку текста.

Usage: brain.screen.clear_line()

Параметры

Описание

Этот метод не имеет параметров.

new_line#

new_line перемещает курсор в столбец 1 следующей строки на экране Brain.

Применение:

brain.screen.new_line()

Параметры

Описание

Этот метод не имеет параметров.

Мутаторы#

clear_screen#

clear_screen удаляет все рисунки и текст с экрана «Мозг».

Применение:

brain.screen.clear_screen(color)

Параметры

Описание

color

Необязательно. Допустимый вариант цвета:

  • Color.RED
  • Color.GREEN
  • Color.BLUE
  • Color.YELLOW
  • Color.ORANGE
  • Color.PURPLE
  • Color.CYAN
  • Color.BLACK (По умолчанию)
  • Color.WHITE

# Print VEXcode on the screen
brain.screen.print("VEXcode")
wait(2, SECONDS)
# Clear screen to black
brain.screen.clear_screen()

# Print VEXcode on the screen
brain.screen.print("VEXcode")

# Clear screen to blue using predefined color
brain.screen.clear_screen(Color.BLUE)

Скриншот экрана V5 Brain, на котором вся область для печати выделена ярко-синим цветом.

set_font#

set_font задает шрифт, используемый для отображения текста на экране Brain. Этот шрифт будет применяться ко всему тексту, выводимому после выполнения этого метода.

Применение:

brain.screen.set_font(font)

Параметры

Описание

font

Ниже представлен допустимый вариант шрифта.

Скриншот экрана V5 Brain с цифрами и буквами, напечатанными белым цветом в верхнем левом углу шрифтом MONO 12. На нем отображается AZ в одну строку, занимающую примерно четверть ширины экрана. В нижнем левом углу написано 80 столбцов и 20 строк.
FontType.MONO12

То же изображение, что и предыдущее, с шрифтом Mono 15. На нем AZ отображается в одну строку, занимая почти половину ширины экрана. В левом нижнем углу написано 68 столбцов и 16 строк.
FontType.MONO15

То же изображение, что и предыдущее, с шрифтом Mono 20. На нем AZ отображается в одну строку, занимая почти две трети ширины экрана. В левом нижнем углу написано 48 столбцов и 12 строк.
FontType.MONO20

То же изображение, что и предыдущее, с шрифтом Mono 30. На нем AZ отображается в одну строку, почти на всю ширину экрана. В левом нижнем углу написано 32 столбца и 8 строк.
FontType.MONO30

То же изображение, что и предыдущее, с шрифтом Mono 40. На нем AX отображается в одну строку, занимая всю ширину экрана. В левом нижнем углу написано 24 столбца и 6 строк.
FontType.MONO40

То же изображение, что и предыдущее, с шрифтом Mono 60. На нем AP отображается в одну строку, занимая всю ширину экрана. Внизу написано 16 столбцов и 4 строки.
FontType.MONO60

То же изображение, что и предыдущее, но шрифтом Prop 20. На нем AZ отображается в одну строку, занимая почти две трети ширины экрана. В левом нижнем углу написано 48 столбцов и 12 строк.
FontType.PROP20

То же изображение, что и предыдущее, но шрифтом Prop 30. На нем AZ отображается в одну строку, занимающую почти всю ширину экрана. В левом нижнем углу написано 32 столбца и 8 строк.
FontType.PROP30

То же изображение, что и предыдущее, но шрифтом Prop 40. На нем в одну строку написано AU, занимающее всю ширину экрана. В левом нижнем углу указано 24 столбца и 6 строк.
FontType.PROP40

То же изображение, что и предыдущее, но шрифтом Prop 60. На нем написано AN в одну строку, занимающую всю ширину экрана. Внизу указано 15 столбцов и 4 строки.
FontType.PROP60

# Set the font type to MONO40
brain.screen.set_font(FontType.MONO40)
brain.screen.print("VEX")

На скриншоте экрана V5 Brain в верхнем левом углу белым шрифтом написано VEX, больше, чем по умолчанию.

set_pen_width#

set_pen_width задает толщину нарисованных линий и контуров фигур.

Применение:

brain.screen.set_pen_width(value)

Параметры

Описание

value

Ширина пера в пикселях, от 0 до 32.

# Draw a rectangle with a pen width of 10
brain.screen.set_pen_width(10)
brain.screen.draw_rectangle(50, 50, 130, 60)

Скриншот экрана V5 Brain, на котором в верхнем левом квадранте экрана напечатан прямоугольник с толстыми рамками.

set_pen_color#

set_pen_color задает цвет текста, пикселей, линий и контуров фигур.

Применение:

brain.screen.set_pen_color(color)

Параметры

Описание

color

Цвет пера и шрифта для использования. Варианты:

  • Color.RED
  • Color.GREEN
  • Color.BLUE
  • Color.YELLOW
  • Color.ORANGE
  • Color.PURPLE
  • Color.CYAN
  • Color.TRANSPARENT
  • Color.WHITE
Вы также можете указать пользовательский цвет.

# Draw a rectangle with orange borders
brain.screen.set_pen_color(Color.ORANGE)
brain.screen.draw_rectangle(50, 50, 130, 60)

Скриншот экрана V5 Brain, на котором в верхнем левом квадранте экрана нарисован прямоугольник оранжевого цвета.

set_fill_color#

set_fill_color устанавливает цвет заливки, используемый при рисовании фигур.

Применение:

brain.screen.set_fill_color(color)

Параметры

Описание

color

Цвет заливки. Варианты:

  • Color.RED
  • Color.GREEN
  • Color.BLUE
  • Color.YELLOW
  • Color.ORANGE
  • Color.PURPLE
  • Color.CYAN
  • Color.TRANSPARENT
  • Color.WHITE
Вы также можете указать пользовательский цвет.

# Draw a purple rectangle
brain.screen.set_fill_color(Color.PURPLE)
brain.screen.draw_rectangle(50, 130, 100, 60)

Скриншот экрана V5 Brain, на котором в левом нижнем квадранте экрана виден прямоугольник, закрашенный фиолетовым цветом.

set_origin#

Параметр set_origin задает начало координат, используемое для рисования и печати на экране Brain. По умолчанию начало координат находится в верхнем левом углу экрана.

Применение:

brain.screen.set_origin(x, y)

Параметры

Описание

x

Координата x, устанавливаемая в качестве начала координат, от 0 до 479.

y

Y-координата, устанавливаемая в качестве начала координат, от 0 до 239.

Рисовать#

draw_pixel#

draw_pixel рисует один пиксель в выбранных координатах x и y, используя текущий цвет пера.

Применение:

brain.screen.draw_pixel(x, y)

Параметры

Описание

x

Координата x для отрисовки пикселя, от 0 до 479, относительно начала координат экрана.

y

Y-координата для отрисовки пикселя, от 0 до 239, относительно начала координат экрана.

# Draw the pixels marking the corners of a square
brain.screen.draw_pixel(250, 100)
brain.screen.draw_pixel(275, 100)
brain.screen.draw_pixel(250, 125)
brain.screen.draw_pixel(275, 125)

Скриншот экрана V5 Brain, показывающий набор пикселей, отображающих углы квадрата вблизи центра экрана.

draw_line#

draw_line рисует линию от первой экранной координаты до второй экранной координаты, используя текущую ширину и цвет пера.

Применение:

brain.screen.draw_line(start_x, start_y, end_x, end_y)

Параметры

Описание

start_x

Координата x в пикселях начала линии, от 0 до 479, относительно начала координат экрана.

start_y

Y-координата в пикселях начала линии, от 0 до 239, относительно начала координат экрана.

end_x

Координата x в пикселях конца строки, от 0 до 479, относительно начала координат экрана.

end_y

Y-координата в пикселях конца строки, от 0 до 239, относительно начала координат экрана.

# Draw a line from the top left to bottom right of the screen
brain.screen.draw_line(0, 0, 479, 239)

На скриншоте экрана V5 Brain видна тонкая диагональная линия по центру, от верхнего левого угла до нижнего правого угла.

draw_rectangle#

draw_rectangle рисует прямоугольник, используя текущую ширину пера, цвет пера и цвет заливки, если не используется необязательный параметр color.

Применение:

brain.screen.draw_rectangle(x, y, width, height, color)

Параметры

Описание

x

Координата x в пикселях верхнего левого угла прямоугольника от 0 до 479.

y

Координата Y в пикселях верхнего левого угла прямоугольника от 0 до 239.

width

Ширина прямоугольника.

height

Высота прямоугольника.

color

Необязательно. Допустимый вариант цвета:

  • Color.RED
  • Color.GREEN
  • Color.BLUE
  • Color.YELLOW
  • Color.ORANGE
  • Color.PURPLE
  • Color.CYAN
  • Color.TRANSPARENT
  • Color.WHITE
Вы также можете указать пользовательский цвет.

# Draw a rectangle on the screen
brain.screen.draw_rectangle(50, 50, 130, 60)

На скриншоте экрана V5 Brain в верхнем левом квадранте напечатан прямоугольник с тонкой белой рамкой.

draw_circle#

draw_circle рисует круг, используя текущую ширину пера, цвет пера и цвет заливки, если не используется необязательный параметр color.

Применение:

brain.screen.draw_circle(x, y, radius, color)

Параметры

Описание

x

Координата x в пикселях центра круга, от 0 до 479, относительно начала координат экрана.

y

Координата Y в пикселях центра круга, от 0 до 239, относительно начала координат экрана.

radius

Радиус круга в пикселях.

color

Необязательно. Цвет заливки. Варианты:

  • Color.RED
  • Color.GREEN
  • Color.BLUE
  • Color.YELLOW
  • Color.ORANGE
  • Color.PURPLE
  • Color.CYAN
  • Color.TRANSPARENT
  • Color.WHITE
Вы также можете указать пользовательский цвет.

# Draw a circle on the screen
brain.screen.draw_circle(120, 120, 40)

На скриншоте экрана V5 Brain показан круг с тонкой белой рамкой, нарисованной в центре.

render#

render включает двойную буферизацию для экрана Brain. После вызова любые команды рисования (например, текст, фигуры или изображения) больше не будут отображаться немедленно до конца проекта. Вместо этого обновления будут отображаться только при повторном использовании render Это обеспечивает более плавное и контролируемое обновление экрана, но означает, что ничего не будет видно до тех пор, пока не будет использован render.

Применение:

brain.screen.render()

Параметры

Описание

Этот метод не имеет параметров.

# Render text after moving
brain.screen.render()
brain.screen.print("Render later...")
drivetrain.drive_for(FORWARD, 100, MM)
drivetrain.turn_for(RIGHT, 90, DEGREES)
brain.screen.render()

set_clip_region#

Параметр set_clip_region set_clip_region определяет прямоугольную область на экране, в пределах которой будут отображаться все рисунки и текст. Любое содержимое за пределами этой области отображаться не будет.

Применение:

brain.screen.set_clip_region(x, y, width, height)

Параметры

Описание

x

Координата по оси X верхнего левого угла прямоугольника относительно начала координат на экране.

y

Координата по оси Y верхнего левого угла прямоугольника относительно начала координат на экране.

width

Ширина прямоугольника.

height

Высота прямоугольника.

# Restrict text and drawings to a specific region
brain.screen.set_clip_region(0, 0, 120, 120)
brain.screen.draw_rectangle(60, 60, 100, 100, Color.RED)
brain.screen.print_at("Cut off!", x=60, y=60)

Скриншот экрана V5 Brain с белым текстом «Cut of» и сплошным красным квадратом прямо под ним, в верхнем левом квадранте экрана, показывающим то, что печатается в области клипа.

Трогать#

pressing#

При нажатии клавиши pressing возвращается логическое значение, указывающее, нажата ли в данный момент кнопка на экране Brain.

  • True - Нажата кнопка на экране.

  • False - Нажатие на экран не происходит.

Применение:

brain.screen.pressing()

Параметры

Описание

Этот метод не имеет параметров.

# Change the screen's color after it's pressed
while not brain.screen.pressing():
    wait(5, MSEC)
brain.screen.set_fill_color(Color.GREEN)
brain.screen.draw_rectangle(0, 0, 479, 239)

# Display different messages after the screen is pressed
while not brain.screen.pressing():
    wait(5, MSEC)
brain.screen.print("First message!")
brain.screen.next_row()
# Lift finger to press the screen again
while brain.screen.pressing():
    wait(5, MSEC)
while not brain.screen.pressing():
    wait(5, MSEC)
brain.screen.print("Second message!")
brain.screen.next_row()

x_position#

Функция x_position возвращает координату x последнего нажатия на экран в виде целого числа от 0 (слева) до 479 (справа).

Применение:

brain.screen.x_position()

Параметры

Описание

Этот метод не имеет параметров.

# Display a circle where the screen is pressed
while not brain.screen.pressing():
    wait(5, MSEC)
brain.screen.set_fill_color(Color.WHITE)
brain.screen.draw_circle(brain.screen.x_position(), brain.screen.y_position(), 20)

y_position#

Функция y_position возвращает y-координату последнего нажатия на экран в виде целого числа от 0 (сверху) до 239 (снизу).

Применение:

brain.screen.y_position()

Параметры

Описание

Этот метод не имеет параметров.

# Display a circle where the screen is pressed
while not brain.screen.pressing():
    wait(5, MSEC)
brain.screen.set_fill_color(Color.WHITE)
brain.screen.draw_circle(brain.screen.x_position(), brain.screen.y_position(), 20)

Обратные звонки#

pressed#

pressed регистрирует функцию, которая будет вызвана при нажатии на экран мозга.

Применение:

brain.screen.pressed(callback, arg)

Параметры

Описание

callback

Ранее определенная функция, которая выполняется при нажатии на экран Brain.

arg

Optional. A tuple containing arguments to pass to the callback function. See Using Functions with Parameters for more information.

def my_function():
  brain.screen.print("Screen pressed")

# Call my_function whenever the Brain screen is pressed
brain.screen.pressed(my_function)

released#

released регистрирует функцию, которая будет вызвана при отпускании экрана (отключении сенсорного экрана).

Применение:

brain.screen.released(callback, arg)

Параметры

Описание

callback

Ранее определенная функция, которая выполняется при отпускании экрана Brain.

arg

Optional. A tuple containing arguments to pass to the callback function. See Using Functions with Parameters for more information.

def my_function():
  brain.screen.print("Screen released")

# Call my_function whenever the Brain screen is released
brain.screen.released(my_function)