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.

Ekran V5 Brain z czerwonymi liniami siatki pokazującymi układ 12 wierszy i 48 kolumn w sumie. Wymiary pikseli to 479 szerokości i 239 wysokości. Lewy górny róg zaczyna się na (0,0) pikseli i wierszu 1, kolumnie 1, a prawy dolny róg kończy się na (479, 239) pikseli i wierszu 12, kolumnie 48.

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ętopressed — 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

text

Tekst, liczba lub wartość zmiennej do wydrukowania.

sep

Opcjonalnie. Ciąg znaków do wstawienia między wartościami. Musi być zapisany jako argument słowa kluczowego (sep=). Wartość domyślna to “”.

precision

Opcjonalnie. Liczba miejsc dziesiętnych do wyświetlenia podczas drukowania liczb prostych. Musi być zapisana jako argument słowa kluczowego (precyzjaprecision=). Wartość domyślna to 2.

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

Zrzut ekranu mózgu V5 z napisem „Hello Robot” wydrukowanym na ekranie w lewym górnym rogu białym tekstem.

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

row

Wiersz, do którego należy przenieść kursor.

column

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")

Zrzut ekranu mózgu V5 pokazujący wiersz 3, kolumnę 12 wydrukowane w górnej części, blisko środka ekranu, w tym miejscu.

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")

Zrzut ekranu V5 Brain z dwiema liniami białego tekstu w lewym górnym rogu. Górna linia to Linia 1, a druga linia bezpośrednio pod nią to Linia 2.

clear_row#

clear_row czyści pojedynczy wiersz tekstu na ekranie mózgu.

Stosowanie:

brain.screen.clear_row(row, color)

Parametry

Opis

row

Opcjonalnie. Wiersz do wyczyszczenia. Domyślnie jest to bieżący wiersz kursora.

color

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())

Zrzut ekranu V5 Brain pokazujący tekst 3 w kolorze białym w lewym górnym kwadrancie ekranu, w wierszu 3 i kolumnie 2.

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())

Zrzut ekranu V5 Brain pokazujący tekst 15 w kolorze białym w lewym górnym kwadrancie ekranu, w wierszu 3, kolumnie 15.

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

string

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

string

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

color

Opcjonalnie. Prawidłowa opcja koloru:

  • Color.RED
  • Color.GREEN
  • Color.BLUE
  • Color.YELLOW
  • Color.ORANGE
  • Color.PURPLE
  • Color.CYAN
  • Color.BLACK (domyślny)
  • 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)

Zrzut ekranu V5 Brain z całym obszarem do druku w jasnoniebieskim kolorze.

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

font

Poniżej znajduje się prawidłowa czcionka.

Zrzut ekranu V5 Brain z cyframi i literami wydrukowanymi na biało w lewym górnym rogu czcionką MONO 12. Widnieje na nim litera A w jednym wierszu, zajmującym około jednej czwartej szerokości ekranu. W lewym dolnym rogu widnieje liczba kolumn i 20 wierszy.
FontType.MONO12

Ten sam obrazek co poprzedni, z czcionką Mono 15. Przedstawia A-Z w jednym wierszu, na prawie połowie szerokości ekranu. W lewym dolnym rogu widnieje 68 kolumn i 16 wierszy.
FontType.MONO15

Ten sam obraz co poprzedni, z czcionką Mono 20. Przedstawia A-Z w jednym wierszu, na prawie dwóch trzecich szerokości ekranu. W lewym dolnym rogu widnieje 48 kolumn i 12 wierszy.
FontType.MONO20

Ten sam obrazek co poprzedni, z czcionką Mono 30. Przedstawia A-Z w jednym wierszu, na prawie całej szerokości ekranu. W lewym dolnym rogu widnieje liczba 32 kolumn i 8 wierszy.
FontType.MONO30

Ten sam obrazek co poprzedni, z czcionką Mono 40. Przedstawia AX w jednym wierszu, rozciągającym się na całą szerokość ekranu. W lewym dolnym rogu widnieje 24 kolumny i 6 wierszy.
FontType.MONO40

Ten sam obrazek co poprzedni, z czcionką Mono 60. AP wyświetla się w jednym wierszu, na całej szerokości ekranu. Na dole widnieje 16 kolumn i 4 wiersze.
FontType.MONO60

Ten sam obraz co poprzedni, z czcionką Prop 20. Przedstawia A-Z w jednym wierszu, na prawie dwóch trzecich szerokości ekranu. W lewym dolnym rogu widnieje 48 kolumn i 12 wierszy.
FontType.PROP20

Ten sam obraz co poprzedni, z czcionką Prop 30. Przedstawia A-Z w jednym wierszu, zajmującym niemal całą szerokość ekranu. W lewym dolnym rogu widnieje liczba 32 kolumn i 8 wierszy.
FontType.PROP30

Ten sam obraz co poprzedni, z czcionką Prop 40. AU jest widoczne w jednym wierszu, rozciągającym się na całą szerokość ekranu. W lewym dolnym rogu widnieje 24 kolumny i 6 wierszy.
FontType.PROP40

Ten sam obraz co poprzedni, z czcionką Prop 60. Przedstawia AN w jednym wierszu, rozciągającym się na całą szerokość ekranu. Na dole widnieje 15 kolumn i 4 wiersze.
FontType.PROP60

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

Zrzut ekranu V5 Brain przedstawia napis VEX w lewym górnym rogu, w białej czcionce większej niż domyślna.

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

value

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)

Zrzut ekranu V5 Brain przedstawiający prostokąt z grubymi obramowaniami wydrukowany w lewym górnym kwadrancie ekranu.

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

color

Kolor pióra i czcionki, który ma zostać użyty. Dostępne opcje:

  • Color.RED
  • Color.GREEN
  • Color.BLUE
  • Color.YELLOW
  • Color.ORANGE
  • Color.PURPLE
  • Color.CYAN
  • Color.TRANSPARENT
  • Color.WHITE
Można również określić kolor niestandardowy.

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

Zrzut ekranu V5 Brain przedstawiający prostokąt narysowany na pomarańczowo w lewym górnym kwadrancie ekranu.

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

color

Kolor wypełnienia do użycia. Opcje obejmują:

  • Color.RED
  • Color.GREEN
  • Color.BLUE
  • Color.YELLOW
  • Color.ORANGE
  • Color.PURPLE
  • Color.CYAN
  • Color.TRANSPARENT
  • Color.WHITE
Można również określić kolor niestandardowy.

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

Zrzut ekranu V5 Brain przedstawiający prostokąt wypełniony kolorem fioletowym w lewym dolnym kwadrancie ekranu.

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

x

Współrzędna x, którą należy ustawić jako początek, od 0 do 479.

y

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

x

Współrzędna x do rysowania piksela, od 0 do 479, odniesiona do początku ekranu.

y

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)

Zrzut ekranu V5 Brain przedstawiający zbiór pikseli oznaczających rogi kwadratu znajdującego się w pobliżu środka ekranu.

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

start_x

Współrzędna x (w pikselach) początku linii (od 0 do 479) odniesiona do punktu początkowego ekranu.

start_y

Współrzędna y (w pikselach) początku linii, od 0 do 239, odniesiona do punktu początkowego ekranu.

end_x

Współrzędna x końca linii w pikselach od 0 do 479, odniesiona do początku ekranu.

end_y

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)

Zrzut ekranu V5 Brain pokazuje cienką ukośną linię biegnącą przez środek, od lewego górnego rogu do prawego dolnego rogu.

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

x

Współrzędna x w pikselach lewego górnego rogu prostokąta od 0 do 479.

y

Współrzędna y w pikselach lewego górnego rogu prostokąta od 0 do 239.

width

Szerokość prostokąta.

height

Wysokość prostokąta.

color

Opcjonalnie. Prawidłowa opcja koloru:

  • Color.RED
  • Color.GREEN
  • Color.BLUE
  • Color.YELLOW
  • Color.ORANGE
  • Color.PURPLE
  • Color.CYAN
  • Color.TRANSPARENT
  • Color.WHITE
Można również określić kolor niestandardowy.

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

Zrzut ekranu mózgu V5 pokazuje prostokąt z cienką białą obwódką wydrukowany w lewym górnym kwadrancie.

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

x

Współrzędna x w pikselach środka okręgu, od 0 do 479, odniesiona do początku ekranu.

y

Współrzędna y w pikselach środka okręgu, od 0 do 239, odniesiona do początku ekranu.

radius

Promień okręgu w pikselach.

color

Opcjonalnie. Kolor wypełnienia do użycia. Opcje obejmują:

  • Color.RED
  • Color.GREEN
  • Color.BLUE
  • Color.YELLOW
  • Color.ORANGE
  • Color.PURPLE
  • Color.CYAN
  • Color.TRANSPARENT
  • Color.WHITE
Można również określić kolor niestandardowy.

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

Zrzut ekranu V5 Brain pokazuje okrąg z cienką białą obwódką narysowaną w środku.

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

x

Pozycja x lewego górnego rogu prostokąta, odniesiona do początku ekranu.

y

Pozycja y lewego górnego rogu prostokąta, odniesiona do początku ekranu.

width

Szerokość prostokąta.

height

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)

Zrzut ekranu V5 Brain z białym tekstem, na którym widnieje napis Cut of (Wytnij) z pełnym czerwonym kwadratem bezpośrednio pod nim, w lewym górnym kwadrancie ekranu, pokazujący, co jest drukowane w obszarze klipu.

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

callback

Wcześniej zdefiniowana funkcja, która jest wykonywana po naciśnięciu ekranu Brain.

arg

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

callback

Wcześniej zdefiniowana funkcja, która jest wykonywana po zwolnieniu ekranu Brain.

arg

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)