Ekran#
Wstęp#
Metody ekranowe kontrolują sposób, w jaki robot programistyczny VEX AIM wyświetla tekst, liczby i grafikę na ekranie oraz w jaki sposób reaguje na naciśnięcia klawiszy na ekranie.
Poniżej znajduje się lista wszystkich metod:
Dotyk – wykrywanie i reagowanie na naciśnięcia ekranu.
pressing– Zwraca informację, czy ekran jest aktualnie 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.
Drukowanie kursorem – Wyświetlanie tekstu za pomocą systemu wierszy/kolumn.
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.get_row– Zwraca bieżący wiersz kursora.get_column– Zwraca bieżącą kolumnę kursora.
Drukowanie XY – Wyświetlanie tekstu w określonych współrzędnych ekranu.
print_at– Drukuje tekst, liczby lub wartości zmiennych w określonych współrzędnych x i y.set_origin– Ustawia początek używany do drukowania i rysowania na podstawie współrzędnych.
Mutatory – wyczyść ekran lub zaktualizuj ustawienia wizualne.
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 rysowanych kształtów i drukowanych teł tekstowych.
Rysuj – dodawaj grafiki i obrazy do ekranu.
draw_pixel– Rysuje piksel w określonej pozycji x i y.draw_line– Rysuje linię między dwoma punktami.draw_rectangle– Rysuje prostokąt.draw_circle– Rysuje okrąg.show_file– Wyświetla przesłany obraz.set_clip_region– Ogranicza miejsca, w których mogą pojawiać się rysunki i tekst.
Wywołania zwrotne – uruchamiają funkcje po naciśnięciu lub zwolnieniu ekranu.
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.
Dotykać#
pressing#
Naciśnięcie pressing czy ekran robota jest aktualnie naciskany.
True– Ekran jest naciskany.False– Ekran nie jest naciskany.
Usage:
robot.screen.pressing()
Parametry |
Opis |
|---|---|
Ta metoda nie ma żadnych parametrów. |
# 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 zwraca współrzędną x ostatniego naciśnięcia ekranu jako liczbę całkowitą od 0 (po lewej) do 240 (po prawej).
Usage:robot.screen.x_position()
Parametry |
Opis |
|---|---|
Ta metoda nie ma żadnych parametrów. |
# 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 zwraca współrzędną y ostatniego naciśnięcia ekranu jako liczbę całkowitą od 0 (góra) do 240 (dół).
Usage:robot.screen.y_position()
Parametry |
Opis |
|---|---|
Ta metoda nie ma żadnych parametrów. |
# 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)
Drukowanie kursora#
print#
print drukuje tekst, liczby lub wartości zmiennych na ekranie robota w bieżącej pozycji kursora i czcionce.
Usage:robot.screen.print(text)
Parametry |
Opis |
|---|---|
|
Tekst, liczba lub wartość zmiennej do wyświetlenia na ekranie. |
# Display a message at the starting cursor position
robot.screen.print("Hello, Robot!")

set_cursor#
set_cursor przesuwa kursor tekstowy do określonego wiersza i kolumny na ekranie robota. Następne wywołanie print rozpocznie drukowanie w tym miejscu. Liczba pasujących wierszy i kolumn zależy od wybranej czcionki. Przy domyślnej czcionce o stałej szerokości, ekran może wyraźnie wyświetlić do 8 wierszy i 13 kolumn. Tekst umieszczony poza tym zakresem może zostać obcięty lub trudniejszy 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.
Usage:robot.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 2
robot.screen.set_cursor(3, 2)
robot.screen.print("Row 3, Column 2")

next_row#
next_row przenosi kursor do kolumny 1 w następnym wierszu na ekranie robota.
Usage:robot.screen.next_row()
Parametry |
Opis |
|---|---|
Ta metoda nie ma żadnych parametrów. |
# Display two lines of text
robot.screen.print("Line 1")
robot.screen.next_row()
robot.screen.print("Line 2")

clear_row#
clear_row czyści pojedynczy wiersz tekstu na ekranie robota.
Usage:robot.screen.clear_row(row, color)
Parametr |
Opis |
|---|---|
|
Opcjonalnie. Wiersz do wyczyszczenia jako liczba całkowita. Domyślnie jest to bieżący wiersz kursora. |
|
Opcjonalnie. Kolor, który ma zostać zastosowany do wyczyszczonego wiersza. Opcje obejmują:
|
# 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 zwraca bieżący wiersz, w którym tekst zostanie wydrukowany jako liczba całkowita.
Usage:robot.screen.get_row()
Parametry |
Opis |
|---|---|
Ta metoda nie ma żadnych parametrów. |
# 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 zwraca bieżącą kolumnę, w której tekst będzie drukowany jako liczba całkowita.
Usage:robot.screen.get_column()
Parametry |
Opis |
|---|---|
Ta metoda nie ma żadnych parametrów. |
# Set cursor to (3,2) and print column number
robot.screen.set_cursor(3, 2)
robot.screen.print(robot.screen.get_column())

Wydruk XY#
print_at#
print_at drukuje tekst, liczby lub wartości zmiennych na ekranie robota w określonych współrzędnych x i y w pikselach, używając aktualnie ustawionych czcionki i początku. x ustawia, jak daleko od lewej strony zaczyna się tekst, a y ustawia, gdzie znajduje się dolna część liter. Ta metoda ignoruje bieżącą pozycję kursora.

Uwaga: Czerwony okrąg pokazuje, które współrzędne będą widoczne na okrągłym ekranie robota AIM. Współrzędne poza czerwonym okręgiem mieszczą się w zakresie 0–240, ale nie pojawią się na ekranie.
Usage:
robot.screen.print_at(text, x, y)
Parametr |
Opis |
|---|---|
|
Tekst, liczba lub wartość zmiennej do wydrukowania na ekranie. |
|
Pozycja tekstu w poziomie, wyrażona liczbą całkowitą od 0 do 240 pikseli. 0 oznacza pozycję po lewej stronie, 240 – pozycję po prawej stronie. |
|
Pozycja pionowa tekstu, wyrażona liczbą całkowitą od 0 do 240 pikseli. 0 oznacza górę, 240 oznacza dół. |
# Display a message in the middle of the screen
robot.screen.print_at("Hello, Robot!", x=40, y=120)

set_origin#
set_origin ustawia punkt początkowy używany do rysowania i drukowania na podstawie współrzędnych na ekranie robota. Domyślnie punktem początkowym jest lewy górny róg ekranu.
Usage:
robot.screen.set_origin(x, y)
Parametr |
Opis |
|---|---|
|
Nowa współrzędna x, którą należy ustawić jako początek, podana jako liczba całkowita od 0 do 240. |
|
Nowa współrzędna y, którą należy ustawić jako początek, podana jako liczba całkowita od 0 do 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)

Mutatory#
clear_screen#
clear_screen usuwa wszystkie rysunki i tekst z ekranu robota. Domyślnie resetuje również pozycję kursora do wiersza 1 i kolumny 1.
Usage:
robot.screen.clear_screen(color)
Parametr |
Opis |
|---|---|
|
Opcjonalnie. Ustawia kolor ekranu. Opcje obejmują:
|
# 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 ustawia czcionkę używaną do wyświetlania tekstu na ekranie robota. Ta czcionka będzie stosowana do całego tekstu drukowanego za pomocą print lub print_at. Domyślna czcionka na początku projektu to MONO24.
Usage:
robot.screen.set_font(fontname)
Parametr |
Opis |
|---|---|
|
Ustawia czcionkę na jedną z następujących:
|
|
|
|
|---|---|---|
|
|
|
|
|
|
|
|
# Display text using a larger font
robot.screen.set_font(MONO40)
robot.screen.print("VEX")

set_pen_width#
set_pen_width ustawia grubość rysowanych linii i konturów kształtów.
Usage:
robot.screen.set_pen_width(width)
Parametr |
Opis |
|---|---|
|
Szerokość pióra w pikselach od 0 do 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 ustawia kolor tekstu, pikseli, linii i konturów kształtów.
Usage:
robot.screen.set_pen_color(color)
Parametr |
Opis |
|---|---|
|
Opcjonalnie. Kolor pióra i czcionki, który ma zostać użyty. Opcje obejmują:
|
# 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 ustawia kolor wypełnienia używany podczas rysowania kształtów i drukowania tekstu z użyciem tła.
Usage:robot.screen.set_fill_color(color)
Parametr |
Opis |
|---|---|
|
Opcjonalnie. Kolor wypełnienia do użycia. Opcje obejmują:
|
# 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")

Rysować#
draw_pixel#
draw_pixel rysuje jeden piksel na wybranej współrzędnej x i y, używając bieżącego koloru pióra.
Usage:
robot.screen.draw_pixel(x, y)
Parametr |
Opis |
|---|---|
|
Współrzędna x, w której zostanie narysowany piksel, podana jako liczba całkowita od 0 do 240. |
|
Współrzędna y, na której zostanie narysowany piksel, podana jako liczba całkowita od 0 do 240. |
# Draw a pixel at the center of the screen
robot.screen.draw_pixel(120, 120)
![]()
draw_line#
draw_line rysuje linię od pierwszej współrzędnej ekranu (x1, y1) do drugiej współrzędnej ekranu (x2, y2) używając bieżącej szerokości pióra i koloru pióra.
Współrzędne x i y używają domyślnego początku (0, 0), chyba że ustawiono inny początek za pomocą set_origin.
Usage:
robot.screen.draw_line(x1, y1, x2, y2)
Parametr |
Opis |
|---|---|
|
Początkowa współrzędna x linii, podana jako liczba całkowita od 0 do 240. |
|
Początkowa współrzędna y linii, podana jako liczba całkowita od 0 do 240. |
|
Końcowa współrzędna x linii, podana jako liczba całkowita od 0 do 240. |
|
Końcowa współrzędna y linii, podana jako liczba całkowita od 0 do 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 rysuje prostokąt z lewym górnym rogiem w wybranej współrzędnej (x, y) i rozmiarem określonym przez podaną szerokość i wysokość, mierzone w pikselach. Kontur prostokąta jest rysowany z użyciem bieżącej szerokości pisaka i koloru pisaka. Wnętrze jest wypełniane bieżącym kolorem wypełnienia, chyba że zostanie użyty opcjonalny parametr color.
Współrzędne x i y używają domyślnego początku (0, 0), chyba że ustawiono inny początek za pomocą set_origin.
Usage:robot.screen.draw_rectangle(x, y, width, height, color)
Parametr |
Opis |
|---|---|
|
Współrzędna x lewego górnego rogu prostokąta, podana jako liczba całkowita od 0 do 240. |
|
Współrzędna y lewego górnego rogu prostokąta, podana jako liczba całkowita od 0 do 240. |
|
Szerokość prostokąta, podana jako liczba całkowita od 0 do 240. |
|
Wysokość prostokąta podana jako liczba całkowita od 0 do 240. |
|
Optional. The fill color of the rectangle. Options include:
|
# Draw a red rectangle on the screen
robot.screen.draw_rectangle(50, 50, 130, 60, RED)

draw_circle#
draw_circle rysuje okrąg o środku w wybranej współrzędnej (x, y) i rozmiarze określonym przez podany promień, mierzony w pikselach. Kontur okręgu jest rysowany z użyciem bieżącej szerokości pisaka i koloru pisaka. Wnętrze jest wypełniane bieżącym kolorem wypełnienia, chyba że zostanie użyty opcjonalny parametr color.
Współrzędne x i y używają domyślnego początku (0, 0), chyba że ustawiono inny początek za pomocą set_origin.
Usage:robot.screen.draw_circle(x, y, radius, color)
Parametr |
Opis |
|---|---|
|
Współrzędna x środka okręgu, podana jako liczba całkowita od 0 do 240. |
|
Współrzędna y środka okręgu, podana jako liczba całkowita od 0 do 240. |
|
Promień okręgu podany jako liczba całkowita od 0 do 240 pikseli. |
|
Optional. The fill color of the circle. Options include:
|
# Draw a green circle on the screen
robot.screen.draw_circle(120, 120, 40, GREEN)

show_file#
show_file wyświetla na ekranie robota niestandardowy przesłany obraz, którego położenie jest ustawione przy użyciu parametrów x, yi center na podstawie punktu odniesienia obrazu.
Usage:
robot.screen.show_file(file, x, y, center)
Parametr |
Opis |
|---|---|
|
Niestandardowy obraz do użycia, od |
|
Przesunięcie poziome obrazu, podane jako liczba całkowita w pikselach. Wartości dodatnie przesuwają obraz w prawo; wartości ujemne przesuwają go w lewo. |
|
Przesunięcie pionowe obrazu, podane jako liczba całkowita w pikselach. Wartości dodatnie przesuwają obraz w dół, a wartości ujemne w górę. |
|
Opcjonalnie. Jeśli |
# 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 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.
Usage:
robot.screen.set_clip_region(x, y, width, height)
Parametr |
Opis |
|---|---|
|
Współrzędna x lewego górnego rogu obszaru klipu podana jako liczba dziesiętna ( |
|
Współrzędna y lewego górnego rogu obszaru klipu podana jako liczba dziesiętna ( |
|
Szerokość obszaru klipu w pikselach, podana jako liczba dziesiętna ( |
|
Wysokość obszaru klipu w pikselach, podana jako liczba dziesiętna ( |
# 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)

Wywołania zwrotne#
pressed#
pressed rejestruje metodę, która ma zostać wywołana po naciśnięciu ekranu robota.
Usage:robot.screen.pressed(callback, arg)
Parametry |
Opis |
|---|---|
|
Funkcja, która została wcześniej zdefiniowana do wykonania po naciśnięciu ekranu kontrolera. |
|
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. |
# 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 rejestruje metodę, która ma zostać wywołana po zwolnieniu ekranu robota.
Usage:robot.screen.released(callback, arg)
Parametry |
Opis |
|---|---|
|
Funkcja, która została wcześniej zdefiniowana do wykonania po naciśnięciu ekranu kontrolera. |
|
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. |
# Set the LEDs to blue when the screen is released.
def screen_released():
robot.led.on(ALL_LEDS, BLUE)
robot.screen.released(screen_released)










