Ekran#
Wstęp#
Metody ekranowe kontrolują sposób, w jaki V5 Brain wyświetla tekst, liczby i grafikę na ekranie dotykowym oraz w jaki sposób reaguje na bodźce dotykowe.
Domyślnie czcionka używana do drukowania w Brain to mały, monospaced, składający się z 12 wierszy i 48 kolumn.
Do rysowania rozdzielczość mózgu wynosi 480 x 240 pikseli.

Poniżej znajduje się lista wszystkich metod:
Drukuj kursorem — umieść i wydrukuj tekst.
print— Drukuje tekst, liczby lub wartości zmiennych w bieżącej pozycji kursora.set_cursor— Przenosi kursor do określonego wiersza i kolumny.next_row— Przenosi kursor do kolumny 1 następnego wiersza.clear_row— Czyści wiersz tekstu.row— Zwraca wiersz, w którym zostanie wydrukowany tekst.column— Zwraca kolumnę, w której zostanie wydrukowany tekst.print_at— Drukuje tekst, liczby lub wartości zmiennych w określonych współrzędnych x i y.get_string_width— Zwraca szerokość ciągu w pikselach, używając bieżącej czcionki.get_string_height— Zwraca wysokość ciągu w pikselach, używając bieżącej czcionki.clear_line— Czyści wiersz tekstu.new_line— Przenosi kursor do nowego wiersza.
Mutatory — zmieniają ustawienia ekranu, kolory i sposób rysowania.
clear_screen— Czyści ekran ze wszystkich rysunków i tekstu.set_font— Ustawia czcionkę dla drukowanego tekstu.set_pen_width— Ustawia grubość rysowanych linii i konturów kształtów.set_pen_color— Ustawia kolor tekstu, pikseli, linii i konturów kształtów.set_fill_color— Ustawia kolor wypełnienia dla narysowanych kształtów i tła drukowanego tekstu.set_origin— Ustawia początek używany do drukowania i rysowania na podstawie współrzędnych.
Rysuj — dodaj grafikę do ekranu.
draw_pixel— Rysuje jeden piksel w danym punkcie współrzędnych.draw_line— Rysuje linię między dwoma punktami.draw_rectangle— Rysuje prostokąt.draw_circle— Rysuje okrąg.render— Aktualizuje ekran mózgu tekstem i rysunkami tylko po wywołaniu.set_clip_region— Ogranicza miejsca, w których mogą pojawiać się rysunki i tekst.
Gettery — sprawdź stan i pozycję dotyku.
pressing— Zwraca informację, czy ekran jest naciskany.x_position— Zwraca współrzędną x ostatniego naciśnięcia ekranu.y_position— Zwraca współrzędną y ostatniego naciśnięcia ekranu.
Wywołania zwrotne — reagują na zdarzenia dotykowe na ekranie.
naciśnięto
pressed— Rejestruje funkcję, która ma zostać wywołana po naciśnięciu ekranu.released— Rejestruje funkcję, która ma zostać wywołana po zwolnieniu ekranu.
Informacje na temat konstruowania mózgu w celu uzyskania dostępu do metod ekranu screen można znaleźć w Mózg.
Drukowanie kursora#
print#
print drukuje tekst, liczby lub wartości zmiennych na ekranie Brain w bieżącej pozycji kursora i przy użyciu bieżącej czcionki.
Stosowanie:
brain.screen.print(text, sep, precision)
Parametry |
Opis |
|---|---|
|
Tekst, liczba lub wartość zmiennej do wydrukowania. |
|
Opcjonalnie. Ciąg znaków do wstawienia między wartościami. Musi być zapisany jako argument słowa kluczowego (sep=). Wartość domyślna to |
|
Opcjonalnie. Liczba miejsc dziesiętnych do wyświetlenia podczas drukowania liczb prostych. Musi być zapisana jako argument słowa kluczowego (precyzja |
# Print on the Brain's screen
brain.screen.print("Hello, Robot!")

set_cursor#
set_cursor przenosi kursor do określonego wiersza i kolumny na ekranie Brain. Następne wywołanie print rozpocznie drukowanie w tym miejscu. Liczba wierszy i kolumn, które wygodnie się zmieszczą, zależy od wybranej czcionki. Domyślna czcionka o stałej szerokości (medium) umożliwia wyraźne wyświetlanie do 8 wierszy i 13 kolumn. Tekst umieszczony poza tym zakresem może zostać obcięty lub stać się trudny do odczytania.
Czcionki o stałej szerokości mają znaki o tej samej szerokości, co zapewnia spójność rozmieszczenia tekstu. Natomiast czcionki proporcjonalne różnią się szerokością znaków, przez co niektóre litery zajmują więcej miejsca niż inne. Jednak niezależnie od użytego typu, set_cursor pozycjonuje kursor na podstawie rozmiaru wiersza i kolumny, a nie stylu czcionki. Rozmiar czcionki można dostosować za pomocą set_font.
Stosowanie:
brain.screen.set_cursor(row, column)
Parametry |
Opis |
|---|---|
|
Wiersz, do którego należy przenieść kursor. |
|
Kolumna, do której należy przenieść kursor. |
# Display text starting at Row 3 Column 12
brain.screen.set_cursor(3, 12)
brain.screen.print("Row 3, Column 12")

next_row#
next_row przenosi kursor do następnego wiersza.
Stosowanie:
brain.screen.next_row()
Parametry |
Opis |
|---|---|
Ta metoda nie ma żadnych parametrów. |
# Print two lines of text on the Brain's screen
brain.screen.print("Line 1")
brain.screen.next_row()
brain.screen.print("Line 2")

clear_row#
clear_row czyści pojedynczy wiersz tekstu na ekranie mózgu.
Stosowanie:
brain.screen.clear_row(row, color)
Parametry |
Opis |
|---|---|
|
Opcjonalnie. Wiersz do wyczyszczenia. Domyślnie jest to bieżący wiersz kursora. |
|
Opcjonalnie. Prawidłowy kolor, wartość szesnastkowa lub ciąg znaków. |
# 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 zwraca wiersz, w którym tekst zostanie wydrukowany jako liczba całkowita.
Stosowanie:
brain.screen.row()
Parametry |
Opis |
|---|---|
Ta metoda nie ma żadnych parametrów. |
# Display the cursor's current row
brain.screen.set_cursor(3, 2)
brain.screen.print(brain.screen.row())

column#
column zwraca kolumnę, w której tekst będzie drukowany jako liczba całkowita.
Stosowanie:
brain.screen.column()
Parametry |
Opis |
|---|---|
Ta metoda nie ma żadnych parametrów. |
# Display the cursor's current column
brain.screen.set_cursor(3, 15)
brain.screen.print(brain.screen.column())

print_at#
print_at drukuje tekst, liczby lub wartości zmiennych na ekranie Brain w określonych współrzędnych x i y przy użyciu bieżącej czcionki i pochodzenia.
Stosowanie:
brain.screen.print_at(text, x, y, sep, precision, opaque)
Parametry |
Opis |
|---|---|
|
Tekst, liczba lub wartość zmiennej do wydrukowania. |
|
Współrzędna x, która ma zostać wydrukowana, jako argument słowa kluczowego ( |
|
Współrzędna y, która ma zostać wydrukowana, podana jako argument słowa kluczowego ( |
|
Opcjonalnie. Ciąg znaków do wstawienia między wartościami. Musi być zapisany jako argument słowa kluczowego (sep=). Wartość domyślna to |
|
Opcjonalnie. Liczba miejsc dziesiętnych do wyświetlenia podczas drukowania liczb prostych. Musi być zapisana jako argument słowa kluczowego (precyzja |
|
Opcjonalnie. Wartość logiczna wskazująca, czy tekst powinien usuwać piksele tła. Wartość domyślna to |
# Display text at the center of the screen
brain.screen.print_at("Center", x=220, y=120)

get_string_width#
get_string_width zwraca szerokość ciągu w pikselach jako liczbę całkowitą, używając bieżącej czcionki.
Usage:
brain.screen.get_string_width(string)
Parametry |
Opis |
|---|---|
|
Sznurek do pomiaru. |
get_string_height#
get_string_height zwraca wysokość ciągu w pikselach jako liczbę całkowitą, używając bieżącej czcionki.
Usage:
brain.screen.get_string_height(string)
Parametry |
Opis |
|---|---|
|
Sznurek do pomiaru. |
clear_line#
clear_line czyści bieżący wiersz tekstu.
Usage:
brain.screen.clear_line()
Parametry |
Opis |
|---|---|
Ta metoda nie ma żadnych parametrów. |
new_line#
new_line przenosi kursor do kolumny 1 w następnym wierszu na ekranie Brain.
Stosowanie:
brain.screen.new_line()
Parametry |
Opis |
|---|---|
Ta metoda nie ma żadnych parametrów. |
Mutatory#
clear_screen#
clear_screen usuwa wszystkie rysunki i tekst z ekranu mózgu.
Stosowanie:
brain.screen.clear_screen(color)
Parametry |
Opis |
|---|---|
|
Opcjonalnie. Prawidłowa opcja koloru:
|
# 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)

set_font#
set_font ustawia czcionkę używaną do wyświetlania tekstu na ekranie Brain. Czcionka ta będzie stosowana do całego tekstu drukowanego po uruchomieniu tej metody.
Stosowanie:
brain.screen.set_font(font)
Parametry |
Opis |
|---|---|
|
Poniżej znajduje się prawidłowa czcionka. |
|
|
|
|---|---|---|
|
|
|
|
|
|
|
# Set the font type to MONO40
brain.screen.set_font(FontType.MONO40)
brain.screen.print("VEX")

set_pen_width#
set_pen_width ustawia grubość rysowanych linii i konturów kształtów.
Stosowanie:
brain.screen.set_pen_width(value)
Parametry |
Opis |
|---|---|
|
Szerokość pióra w pikselach od 0 do 32. |
# Draw a rectangle with a pen width of 10
brain.screen.set_pen_width(10)
brain.screen.draw_rectangle(50, 50, 130, 60)

set_pen_color#
set_pen_color ustawia kolor tekstu, pikseli, linii i konturów kształtów.
Stosowanie:
brain.screen.set_pen_color(color)
Parametry |
Opis |
|---|---|
|
Kolor pióra i czcionki, który ma zostać użyty. Dostępne opcje:
|
# Draw a rectangle with orange borders
brain.screen.set_pen_color(Color.ORANGE)
brain.screen.draw_rectangle(50, 50, 130, 60)

set_fill_color#
set_fill_color ustawia kolor wypełnienia używany podczas rysowania kształtów.
Stosowanie:
brain.screen.set_fill_color(color)
Parametry |
Opis |
|---|---|
|
Kolor wypełnienia do użycia. Opcje obejmują:
|
# Draw a purple rectangle
brain.screen.set_fill_color(Color.PURPLE)
brain.screen.draw_rectangle(50, 130, 100, 60)

set_origin#
set_origin ustawia punkt początkowy używany do rysowania i drukowania na podstawie współrzędnych na ekranie Brain. Domyślnie punktem początkowym jest lewy górny róg ekranu.
Stosowanie:
brain.screen.set_origin(x, y)
Parametry |
Opis |
|---|---|
|
Współrzędna x, którą należy ustawić jako początek, od 0 do 479. |
|
Współrzędna y, którą należy ustawić jako początek, od 0 do 239. |
Rysować#
draw_pixel#
draw_pixel rysuje jeden piksel w wybranych współrzędnych x i y, używając bieżącego koloru pióra.
Stosowanie:
brain.screen.draw_pixel(x, y)
Parametry |
Opis |
|---|---|
|
Współrzędna x do rysowania piksela, od 0 do 479, odniesiona do początku ekranu. |
|
Współrzędna y do rysowania pikseli, od 0 do 239, odniesiona do początku ekranu. |
# 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)
![]()
draw_line#
draw_line rysuje linię od pierwszej współrzędnej ekranu do drugiej współrzędnej ekranu, używając bieżącej szerokości i koloru pióra.
Stosowanie:
brain.screen.draw_line(start_x, start_y, end_x, end_y)
Parametry |
Opis |
|---|---|
|
Współrzędna x (w pikselach) początku linii (od 0 do 479) odniesiona do punktu początkowego ekranu. |
|
Współrzędna y (w pikselach) początku linii, od 0 do 239, odniesiona do punktu początkowego ekranu. |
|
Współrzędna x końca linii w pikselach od 0 do 479, odniesiona do początku ekranu. |
|
Współrzędna y końca linii w pikselach od 0 do 239, odniesiona do początku ekranu. |
# Draw a line from the top left to bottom right of the screen
brain.screen.draw_line(0, 0, 479, 239)

draw_rectangle#
draw_rectangle rysuje prostokąt, używając bieżącej szerokości pióra, koloru pióra i koloru wypełnienia, chyba że zostanie użyty opcjonalny parametr color.
Stosowanie:
brain.screen.draw_rectangle(x, y, width, height, color)
Parametry |
Opis |
|---|---|
|
Współrzędna x w pikselach lewego górnego rogu prostokąta od 0 do 479. |
|
Współrzędna y w pikselach lewego górnego rogu prostokąta od 0 do 239. |
|
Szerokość prostokąta. |
|
Wysokość prostokąta. |
|
Opcjonalnie. Prawidłowa opcja koloru:
|
# Draw a rectangle on the screen
brain.screen.draw_rectangle(50, 50, 130, 60)

draw_circle#
draw_circle rysuje okrąg, używając bieżącej szerokości pióra, koloru pióra i koloru wypełnienia, chyba że zostanie użyty opcjonalny parametr color.
Stosowanie:
brain.screen.draw_circle(x, y, radius, color)
Parametry |
Opis |
|---|---|
|
Współrzędna x w pikselach środka okręgu, od 0 do 479, odniesiona do początku ekranu. |
|
Współrzędna y w pikselach środka okręgu, od 0 do 239, odniesiona do początku ekranu. |
|
Promień okręgu w pikselach. |
|
Opcjonalnie. Kolor wypełnienia do użycia. Opcje obejmują:
|
# Draw a circle on the screen
brain.screen.draw_circle(120, 120, 40)

render#
Polecenie render włącza podwójne buforowanie ekranu Brain. Po wywołaniu polecenia rysowania (takie jak tekst, kształty czy obrazy) nie będą już wyświetlane od razu w całym projekcie. Zamiast tego aktualizacje będą widoczne dopiero po ponownym użyciu polecenia render Umożliwia to płynniejsze i bardziej kontrolowane odświeżanie ekranu, ale oznacza, że nic nie będzie widoczne, dopóki polecenie render nie zostanie użyte.
Stosowanie:
brain.screen.render()
Parametry |
Opis |
|---|---|
Ta metoda nie ma żadnych parametrów. |
# 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 definiuje prostokątny obszar na ekranie, w którym będą wyświetlane wszystkie rysunki i tekst. Zawartość spoza tego obszaru nie będzie wyświetlana.
Stosowanie:
brain.screen.set_clip_region(x, y, width, height)
Parametry |
Opis |
|---|---|
|
Pozycja x lewego górnego rogu prostokąta, odniesiona do początku ekranu. |
|
Pozycja y lewego górnego rogu prostokąta, odniesiona do początku ekranu. |
|
Szerokość prostokąta. |
|
Wysokość prostokąta. |
# 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)

Dotykać#
pressing#
Naciśnięcie pressing zwraca wartość logiczną wskazującą, czy ekran Brain jest aktualnie naciskany.
True- Ekran jest naciskany.False- Ekran nie jest naciskany.
Stosowanie:
brain.screen.pressing()
Parametry |
Opis |
|---|---|
Ta metoda nie ma żadnych parametrów. |
# 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 zwraca współrzędną x ostatniego naciśnięcia ekranu jako liczbę całkowitą od 0 (po lewej) do 479 (po prawej).
Stosowanie:
brain.screen.x_position()
Parametry |
Opis |
|---|---|
Ta metoda nie ma żadnych parametrów. |
# 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 zwraca współrzędną y ostatniego naciśnięcia ekranu jako liczbę całkowitą od 0 (góra) do 239 (dół).
Stosowanie:
brain.screen.y_position()
Parametry |
Opis |
|---|---|
Ta metoda nie ma żadnych parametrów. |
# 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)
Wywołania zwrotne#
pressed#
Naciśnięto pressed rejestruje funkcję, która ma zostać wywołana po naciśnięciu Ekranu Mózgu.
Stosowanie:
brain.screen.pressed(callback, arg)
Parametry |
Opis |
|---|---|
|
Wcześniej zdefiniowana funkcja, która jest wykonywana po naciśnięciu ekranu Brain. |
|
Opcjonalnie. Krotka krotka zawierająca argumenty do przekazania do funkcji wywołania zwrotnego. Więcej informacji można znaleźć w sekcji Używanie funkcji z parametrami. |
def my_function():
brain.screen.print("Screen pressed")
# Call my_function whenever the Brain screen is pressed
brain.screen.pressed(my_function)
released#
released rejestruje funkcję, która ma zostać wywołana po zwolnieniu ekranu (usunięciu dotyku).
Stosowanie:
brain.screen.released(callback, arg)
Parametry |
Opis |
|---|---|
|
Wcześniej zdefiniowana funkcja, która jest wykonywana po zwolnieniu ekranu Brain. |
|
Opcjonalnie. Krotka krotka zawierająca argumenty do przekazania do funkcji wywołania zwrotnego. Więcej informacji można znaleźć w sekcji Używanie funkcji z parametrami. |
def my_function():
brain.screen.print("Screen released")
# Call my_function whenever the Brain screen is released
brain.screen.released(my_function)









