Skärm#

Introduktion#

Skärmmetoderna styr hur VEX AIM-kodningsroboten visar text, siffror och grafik på skärmen, och hur den reagerar på skärmtryckningar.

Nedan följer en lista över alla metoder:

Pekskärm – Upptäck och reagera på skärmtryckningar.

  • pressing – Returnerar om skärmen trycks ned för närvarande.

  • x_position – Returnerar x-koordinaten för det senaste skärmtrycket.

  • y_position – Returnerar y-koordinaten för det senaste skärmtrycket.

Markörutskrift – Visa text med hjälp av ett rad-/kolumnsystem.

  • print – Skriver ut text, siffror eller variabelvärden vid markörens aktuella position.

  • set_cursor – Flyttar markören till en specifik rad och kolumn.

  • next_row – Flyttar markören till kolumn 1 på nästa rad.

  • clear_row – Rensar en textrad.

  • get_row – Returnerar den aktuella markörraden.

  • get_column – Returnerar den aktuella markörkolumnen.

XY-utskrift – Visar text vid en specifik skärmkoordinat.

  • print_at – Skriver ut text, siffror eller variabelvärden vid en specifik x- och y-koordinat.

  • set_origin – Anger origo som används för koordinatbaserad utskrift och ritning.

Mutatorer – Rensa skärmen eller uppdatera visuella inställningar.

  • clear_screen – Rensar skärmen från alla ritningar och text.

  • set_font – Anger teckensnittet för utskriven text.

  • set_pen_width – Anger tjockleken på ritade linjer och formens konturer.

  • set_pen_color – Ställer in färgen på text, pixlar, linjer och konturer.

  • set_fill_color – Anger fyllningsfärgen för ritade former och utskrivna textbakgrunder.

Rita – Lägg till grafik och bilder på skärmen.

Återuppringningar – Kör funktioner när skärmen trycks eller släpps.

  • pressed – Registrerar en funktion som ska anropas när skärmen trycks ned.

  • released – Registrerar en funktion som ska anropas när skärmen släpps.

Röra#

pressing#

pressing returnerar ett booleskt värde som anger om robotens skärm trycks ned för närvarande.

  • True – Skärmen trycks ned.

  • False – Skärmen trycks inte.

Usage:
robot.screen.pressing()

Parametrar

Beskrivning

Den här metoden har inga parametrar.

# 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 returnerar x-koordinaten för det senaste skärmtrycket som ett heltal från 0 (vänster) till 240 (höger).

Usage:
robot.screen.x_position()

Parametrar

Beskrivning

Den här metoden har inga parametrar.

# 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 returnerar y-koordinaten för det senaste skärmtrycket som ett heltal från 0 (överst) till 240 (nederst).

Usage:
robot.screen.y_position()

Parametrar

Beskrivning

Den här metoden har inga parametrar.

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

Markörutskrift#

print#

print skriver ut text, siffror eller variabelvärden på robotens skärm vid aktuell markörposition och font.

Usage:
robot.screen.print(text)

Parametrar

Beskrivning

text

Texten, talet eller variabelvärdet som ska visas på skärmen.

# Display a message at the starting cursor position
robot.screen.print("Hello, Robot!")

En skärmdump av robotens skärm, med "Hej, robot!" tryckt i vitt överst.

set_cursor#

set_cursor flyttar textmarkören till en specifik rad och kolumn på robotens skärm. Nästa print anrop börjar skriva ut på den platsen. Antalet rader och kolumner som får plats beror på det valda teckensnittet. Med standardteckensnittet med fast radavstånd i mellanstorlek kan skärmen tydligt visa upp till 8 rader och 13 kolumner. Text som placeras utanför detta intervall kan bli avskuren eller svårare att läsa.

Monospaced-teckensnitt har tecken som alla har samma bredd, vilket gör textplaceringen konsekvent. Däremot varierar proportionella teckensnitt i teckenbredd, så vissa bokstäver tar upp mer utrymme än andra. Oavsett vilken typ som används placerar set_cursor markören baserat på rad- och kolumnstorlek, inte teckensnittsstil. Teckenstorleken kan justeras med set_font.

Usage:
robot.screen.set_cursor(row, column)

Parametrar

Beskrivning

row

Raden att flytta markören till.

column

Kolumnen att flytta markören till.

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

En skärmdump av robotens skärm, med "Rad 3, Kolumn 2" tryckt i vitt precis ovanför mitten av skärmen, med början på rad 3 kolumn 2.

next_row#

next_row flyttar markören till kolumn 1 på nästa rad på robotens skärm.

Usage:
robot.screen.next_row()

Parametrar

Beskrivning

Den här metoden har inga parametrar.

# Display two lines of text
robot.screen.print("Line 1")
robot.screen.next_row()
robot.screen.print("Line 2")

En skärmdump av robotens skärm med vit text. Skärmen visar rad 1 på den översta raden, vänsterjusterad, och rad 2 direkt nedanför.

clear_row#

clear_row rensar en enda rad text på robotens skärm.

Usage:
robot.screen.clear_row(row, color)

Parameter

Beskrivning

row

Valfritt. Raden som ska rensas som heltal. Standardvärdet är den aktuella markörraden.

color

Valfritt. Färgen som ska tillämpas på den rensade raden. Alternativen inkluderar:

  • BLACK
  • BLUE
  • CYAN
  • GREEN
  • ORANGE
  • PURPLE
  • RED
  • TRANSPARENT
  • WHITE
  • YELLOW
Du kan också ange en anpassad färg.

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

En skärmdump av robotens skärm med ett grönt fält tvärs över mitten av skärmen från vänster till höger.

get_row#

get_row returnerar den aktuella raden där texten ska skrivas ut som ett heltal.

Usage:
robot.screen.get_row()

Parametrar

Beskrivning

Den här metoden har inga parametrar.

# Set cursor to (3,2) and print row number
robot.screen.set_cursor(3, 2)
robot.screen.print(robot.screen.get_row())

En skärmdump av robotens skärm, med en vit 3:a tryckt nära mitten av den övre vänstra kvadranten, på rad 3 kolumn 2.

get_column#

get_column returnerar den aktuella kolumnen där texten ska skrivas ut som ett heltal.

Usage:
robot.screen.get_column()

Parametrar

Beskrivning

Den här metoden har inga parametrar.

# Set cursor to (3,2) and print column number
robot.screen.set_cursor(3, 2)
robot.screen.print(robot.screen.get_column())

En skärmdump av robotens skärm, med en vit 2:a tryckt nära mitten av den övre vänstra kvadranten, på rad 3 kolumn 2.

XY-utskrift#

set_origin#

set_origin anger origo som används för ritning och koordinatbaserad utskrift på robotens skärm. Som standard är origo skärmens övre vänstra hörn.

Usage:
robot.screen.set_origin(x, y)

Parameter

Beskrivning

x

Den nya x-koordinaten som ska sättas som origo, angiven som ett heltal från 0 till 240.

y

Den nya y-koordinaten som ska ställas in som origo, angiven som ett heltal från 0 till 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)

En skärmdump av robotens skärm med en vit rektangel ritad i den nedre vänstra kvadranten. Rektangelns övre vänstra hörn är skärmens mittpunkt.

Mutatorer#

clear_screen#

clear_screen rensar alla ritningar och text från robotens skärm. Som standard återställer den även markörens position till rad 1, kolumn 1.

Usage:
robot.screen.clear_screen(color)

Parameter

Beskrivning

color

Valfritt. Ställer in skärmfärgen. Alternativen inkluderar:

  • BLACK
  • BLUE
  • CYAN
  • GREEN
  • ORANGE
  • PURPLE
  • RED
  • TRANSPARENT
  • WHITE
  • YELLOW
Du kan också ange en anpassad färg.

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

En skärmdump av robotens skärm, som visar hela skärmen i klarrött.

set_font#

set_font ställer in teckensnittet som används för att visa text på robotens skärm. Detta teckensnitt gäller för all text som skrivs ut med print eller print_at. Standardteckensnittet i början av ett projekt är MONO24.

Usage:
robot.screen.set_font(fontname)

Parameter

Beskrivning

fontname

Ställer in teckensnittet till ett av följande:

  • MONO12
  • MONO15
  • MONO20
  • MONO24
  • MONO30
  • MONO40
  • MONO60
  • PROP20
  • PROP30
  • PROP40
  • PROP60
Dessa alternativ visas nedan.

En skärmdump av robotens skärm som visar ett urval av siffror och bokstäver tryckta i teckensnittet Mono 12. Alfabetet sträcker sig över 1 rad text. Nederdelen har 26 tecken bredd och 15 rader.
MONO12

Samma bild som den föregående med teckensnittet Mono 15. Bokstäverna AT sträcker sig över 1 rad text. Den nedre delen är 20 tecken bred och 12 rader bred.
MONO15

Samma bild som den föregående, med teckensnittet Mono 20. Bokstäverna AP sträcker sig över 1 rad text. Nederdelen är 16 tecken bred och 9 rader bred.
MONO20

Samma bild som den föregående, med teckensnittet Mono 24. Bokstäverna AM sträcker sig över 1 rad text. Nederdelen är 13 tecken bred och 8 rader bred.
MONO24

Samma bild som den föregående, med teckensnittet Mono 30. Bokstäverna AK sträcker sig över 1 rad text. Nederdelen är 11 tecken bred och 6 rader bred.
MONO30

Samma bild som den föregående, med teckensnittet Mono 40. Bokstäverna AH sträcker sig över 1 rad text. Nederst är det 8 tecken breda och 5 rader.
MONO40

Samma bild som den föregående, med siffror tryckta i teckensnittet Mono 60. Siffrorna 1-6 sträcker sig över 1 rad text. Nederkanten är 3 rader.
MONO60

Samma bild som den föregående, med typsnittet Prop 20. Bokstäverna A sträcker sig över 1 rad text. Nederdelen är 20 tecken bred och 9 rader bred.
PROP20

Samma bild som den föregående, med typsnittet Prop 30. Bokstäverna AM sträcker sig över 1 rad text. Nederdelen är 15 tecken bred och 6 rader bred.
PROP30

Samma bild som den föregående, med typsnittet Prop 40. Bokstäverna AJ sträcker sig över 1 rad text. Nederdelen är 11 tecken bred och 5 rader bred.
PROP40

Samma bild som den föregående, med siffror tryckta i typsnittet Prop 60. Siffrorna 1-7 sträcker sig över 1 rad text. Nederkanten är 7 gånger 3.
PROP60

# Display text using a larger font
robot.screen.set_font(MONO40)
robot.screen.print("VEX")

En skärmdump av robotens skärm visar VEX i teckensnittet Mono 40 i det övre vänstra hörnet.

set_pen_width#

set_pen_width anger tjockleken på ritade linjer och formens konturer.

Usage:
robot.screen.set_pen_width(width)

Parameter

Beskrivning

width

Pennans bredd, i pixlar, från 0 till 32.

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

En skärmdump av robotens skärm med en tjock vit rektangel ritad över den övre halvan.

set_pen_color#

set_pen_color anger färgen på text, pixlar, linjer och konturer.

Usage:
robot.screen.set_pen_color(color)

Parameter

Beskrivning

color

Valfritt. Pennan och teckensnittsfärgen som ska användas. Alternativen inkluderar:

  • BLACK
  • BLUE
  • CYAN
  • GREEN
  • ORANGE
  • PURPLE
  • RED
  • TRANSPARENT
  • WHITE
  • YELLOW
Du kan också ange en anpassad färg.

# Draw a rectangle with a red pen
robot.screen.set_pen_color(RED)
robot.screen.draw_rectangle(50, 50, 130, 60)

En skärmdump av robotens skärm med en röd rektangel med en tunn kantlinje ritad över den övre halvan.

set_fill_color#

set_fill_color anger fyllningsfärgen som används när former ritas och när utskriven text använder en bakgrund.

Usage:
robot.screen.set_fill_color(color)

Parameter

Beskrivning

color

Valfritt. Fyllningsfärgen som ska användas. Alternativen inkluderar:

  • BLACK
  • BLUE
  • CYAN
  • GREEN
  • ORANGE
  • PURPLE
  • RED
  • TRANSPARENT
  • WHITE
  • YELLOW
Du kan också ange en anpassad färg.

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

En skärmdump av robotens skärm med två parallella orange rektanglar med tunna, vita konturer placerade till vänster i mitten av skärmen.

# Display text with a purple background
robot.screen.set_fill_color(PURPLE)
robot.screen.print("Highlight")

En skärmdump av robotens skärm visar "Markera" i vit text med en lila markering runtom, med början i det övre vänstra hörnet.

Dra#

draw_pixel#

draw_pixel ritar en pixel vid de valda x- och y-koordinaterna med den aktuella pennfärgen.

Usage:
robot.screen.draw_pixel(x, y)

Parameter

Beskrivning

x

X-koordinaten där pixeln kommer att ritas, angiven som ett heltal från 0 till 240.

y

Y-koordinaten där pixeln kommer att ritas, angiven som ett heltal från 0 till 240.

# Draw a pixel at the center of the screen
robot.screen.draw_pixel(120, 120)

En skärmdump av robotens skärm med en enda vit pixel i mitten.

draw_line#

draw_line ritar en linje från den första skärmkoordinaten (x1, y1) till den andra skärmkoordinaten (x2, y2) med hjälp av aktuell pennbredd och pennfärg.

X- och y-koordinaterna använder standardoriginet (0, 0) om inte ett annat origin har angetts med set_origin.

Usage:
robot.screen.draw_line(x1, y1, x2, y2)

Parameter

Beskrivning

x1

Linjens start-x-koordinat, angiven som ett heltal från 0 till 240.

y1

Linjens start-y-koordinat, angiven som ett heltal från 0 till 240.

x2

Linjens avslutande x-koordinat, angiven som ett heltal från 0 till 240.

y2

Linjens slutliga y-koordinat, angiven som ett heltal från 0 till 240.

# Draw a line from the top left to bottom right of the screen
robot.screen.draw_line(0, 0, 240, 240)

En skärmdump av robotens skärm med en tunn vit diagonal linje dragen från det övre vänstra hörnet till det nedre högra hörnet.

draw_rectangle#

draw_rectangle ritar en rektangel med sitt övre vänstra hörn vid den valda (x, y) koordinaten och en storlek som bestäms av den givna bredden och höjden, alla mätta i pixlar. Rektangelns kontur ritas med hjälp av aktuell pennbredd och pennfärg. Interiören fylls med aktuell fyllningsfärg, såvida inte den valfria parametern color används.

X- och y-koordinaterna använder standardoriginet (0, 0) om inte ett annat origin har angetts med set_origin.

Usage:
robot.screen.draw_rectangle(x, y, width, height, color)

Parameter

Beskrivning

x

X-koordinaten för rektangelns övre vänstra hörn, angiven som ett heltal från 0 till 240.

y

Y-koordinaten för rektangelns övre vänstra hörn, angiven som ett heltal från 0 till 240.

width

Rektangelns bredd, angiven som ett heltal från 0 till 240.

height

Rektangelns höjd, angiven som ett heltal från 0 till 240.

color

Optional. The fill color of the rectangle. Options include:

  • BLACK
  • BLUE
  • CYAN
  • GREEN
  • ORANGE
  • PURPLE
  • RED
  • TRANSPARENT
  • WHITE
  • YELLOW
You can also specify a custom color.

# Draw a red rectangle on the screen
robot.screen.draw_rectangle(50, 50, 130, 60, RED)

En skärmdump av robotens skärm med en klarröd rektangel med en tunn vit kant centrerad över den övre halvan av skärmen.

draw_circle#

draw_circle ritar en cirkel med dess centrum vid den valda (x, y) koordinaten och en storlek som bestäms av den givna radien, allt mätt i pixlar. Cirkelns kontur ritas med hjälp av aktuell pennbredd och pennfärg. Interiören fylls med aktuell fyllningsfärg, såvida inte den valfria parametern color används.

X- och y-koordinaterna använder standardoriginet (0, 0) om inte ett annat origin har angetts med set_origin.

Usage:
robot.screen.draw_circle(x, y, radius, color)

Parameter

Beskrivning

x

X-koordinaten för cirkelns centrum, angiven som ett heltal från 0 till 240.

y

Y-koordinaten för cirkelns centrum, angiven som ett heltal från 0 till 240.

radius

Cirkelns radie, angiven som ett heltal från 0 till 240 pixlar.

color

Optional. The fill color of the circle. Options include:

  • BLACK
  • BLUE
  • CYAN
  • GREEN
  • ORANGE
  • PURPLE
  • RED
  • TRANSPARENT
  • WHITE
  • YELLOW
You can also specify a custom color.

# Draw a green circle on the screen
robot.screen.draw_circle(120, 120, 40, GREEN)

En skärmdump av robotens skärm med en ljusgrön cirkel med en tunn vit kant i mitten.

show_file#

show_file visar en anpassad uppladdad bild på robotens skärm, med dess position inställd med parametrarna x, yoch center baserat på bildens referenspunkt.

Usage:
robot.screen.show_file(file, x, y, center)

Parameter

Beskrivning

file

Den anpassade bilden som ska användas, från IMAGE1 till IMAGE10Bildnumret matchar numret som visas i AIM-kontrollpanelen.

x

Bildens horisontella förskjutning, angiven som ett heltal i pixlar. Positiva värden flyttar den åt höger; negativa värden flyttar den åt vänster.

y

Bildens vertikala förskjutning, angiven som ett heltal i pixlar. Positiva värden flyttar den nedåt; ​​negativa värden flyttar den uppåt.

center

Valfritt. Om center=Trueplaceras bilden med hjälp av dess centrum vid koordinaten (120, 120). Som standard (center=False) används bildens övre vänstra hörn och positioneras i förhållande till det aktuella origin.

# 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 definierar ett rektangulärt område på skärmen där alla teckningar och text begränsas. Innehåll utanför detta område visas inte.

Usage:
robot.screen.set_clip_region(x, y, width, height)

Parameter

Beskrivning

x

X-koordinaten för det övre vänstra hörnet av klippområdet, angiven som ett decimaltal (float) från 0 till 240.

y

Y-koordinaten för det övre vänstra hörnet av klippområdet, angiven som ett decimaltal (float) från 0 till 240.

width

Klippområdets bredd i pixlar, angiven som ett decimaltal (float) från 0 till 240.

height

Höjden på klippområdet i pixlar, angiven som ett decimaltal (float) från 0 till 240.

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

En skärmdump av robotens skärm som visar texten och bilden som passar in i klippområdet. I den övre vänstra kvadranten står det i vit text "Cut o", med en röd fyrkant direkt under.

Återuppringningar#

pressed#

pressed registrerar en metod som ska anropas när robotens skärm trycks ned.

Usage:
robot.screen.pressed(callback, arg)

Parametrar

Beskrivning

callback

En funktion som tidigare är definierad att köras när kontrollskärmen trycks ned.

arg

Valfritt. En tupel som innehåller argument som ska skickas till callback-funktionen. Se Använda funktioner med parametrar för mer information.

# 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 registrerar en metod som ska anropas när robotens skärm släpps.

Usage:
robot.screen.released(callback, arg)

Parametrar

Beskrivning

callback

En funktion som tidigare är definierad att köras när kontrollskärmen trycks ned.

arg

Valfritt. En tupel som innehåller argument som ska skickas till callback-funktionen. Se Använda funktioner med parametrar för mer information.

# Set the LEDs to blue when the screen is released.
def screen_released():
    robot.led.on(ALL_LEDS, BLUE)

robot.screen.released(screen_released)