Skärm#

Introduktion#

Skärmmetoderna styr hur V5 Brain visar text, siffror och grafik på pekskärmen och hur den reagerar på pekinmatning.

Som standard är teckensnittet för utskrift till Brain monospaced small vilket har 12 rader och 48 kolumner.

För att rita är hjärnans upplösning 480 x 240 pixlar.

V5 Brain-skärmen med röda rutnätslinjer som visar layouten med totalt 12 rader och 48 kolumner. Pixeldimensionerna är 479 breda och 239 höga. Det övre vänstra hörnet börjar vid (0,0) pixlar och rad 1, kolumn 1, medan det nedre högra hörnet slutar vid (479, 239) pixlar och rad 12, kolumn 48.

Nedan följer en lista över alla metoder:

Markörutskrift — Placera och skriv ut text.

  • 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.

  • row — Returnerar raden där texten ska skrivas ut.

  • column — Returnerar kolumnen där texten ska skrivas ut.

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

  • get_string_width — Returnerar bredden på en sträng i pixlar med det aktuella teckensnittet.

  • get_string_height — Returnerar höjden på en sträng i pixlar med det aktuella teckensnittet.

  • clear_line — Rensar en textrad.

  • new_line — Flyttar markören till en ny rad.

Mutatorer — Ändra skärminställningar, färger och ritbeteende.

  • clear_screen — Rensar skärmen på 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.

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

Rita — Lägg till grafik på skärmen.

  • draw_pixel — Ritar en pixel vid en koordinat.

  • draw_line — Ritar en linje mellan två punkter.

  • draw_rectangle — Ritar en rektangel.

  • draw_circle — Ritar en cirkel.

  • render — Uppdaterar hjärnans skärm med text och teckningar endast när den anropas.

  • set_clip_region — Begränsar var teckningar och text kan visas.

Getters — Kontrollera pekskärmens tillstånd och position.

  • pressing — Returnerar om skärmen trycks ned.

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

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

Återuppringningar — Svara på pekskärmshändelser.

  • 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.

För information om hur man konstruerar en hjärna för att få tillgång till metoderna screen , se Hjärna.

Markörutskrift#

print#

print skriver ut text, siffror eller variabelvärden på hjärnskärmen vid aktuell markörposition och teckensnitt.

Användande:

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

Parametrar

Beskrivning

text

Texten, talet eller variabelvärdet som ska skrivas ut.

sep

Valfritt. En sträng att infoga mellan värden. Denna måste skrivas som ett nyckelordsargument (sep=). Standardvärdet är “”.

precision

Valfritt. Antalet decimaler som ska visas vid utskrift av enkla tal. Detta måste skrivas som ett nyckelordsargument (precision=). Standardvärdet är 2.

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

En skärmdump av V5-hjärnan som visar "Hello Robot" tryckt på skärmen i det övre vänstra hörnet med vit text.

set_cursor#

set_cursor flyttar markören till en specifik rad och kolumn på hjärnskärmen. Nästa print anrop börjar skriva ut på den platsen. Hur många rader och kolumner som bekvämt får plats beror på det valda teckensnittet. Med standardteckensnittet med fast radavstånd kan upp till 8 rader och 13 kolumner visas tydligt. Text som placeras utanför detta intervall kan bli avklippt eller svårläst.

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.

Användande:

brain.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 12
brain.screen.set_cursor(3, 12)
brain.screen.print("Row 3, Column 12")

En skärmdump av V5-hjärnan som visar rad 3 kolumn 12 tryckt i den övre delen nära mitten av skärmen, på den positionen.

next_row#

next_row flyttar markören till nästa rad.

Användande:

brain.screen.next_row()

Parametrar

Beskrivning

Den här metoden har inga parametrar.

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

En skärmdump av V5 Brain-skärmen som visar två rader vit text i det övre vänstra hörnet. Den översta raden är rad 1 och den andra raden direkt under är rad 2.

clear_row#

clear_row rensar en enda rad text på hjärnskärmen.

Användande:

brain.screen.clear_row(row, color)

Parametrar

Beskrivning

row

Valfritt. Raden som ska rensas. Standardinställningen är den aktuella markörraden.

color

Valfritt. Ett giltigt color, ett hexagonalt värde eller en webbsträng.

# 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 returnerar raden där texten ska skrivas ut som ett heltal.

Användande:

brain.screen.row()

Parametrar

Beskrivning

Den här metoden har inga parametrar.

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

En skärmdump av V5 Brain-skärmen som visar texten 3 i vitt i skärmens övre vänstra kvadrant, vid rad 3 kolumn 2-positionen.

column#

column returnerar kolumnen där texten ska skrivas ut som ett heltal.

Användande:

brain.screen.column()

Parametrar

Beskrivning

Den här metoden har inga parametrar.

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

En skärmdump av V5 Brain-skärmen som visar texten 15 i vitt i skärmens övre vänstra kvadrant, vid rad 3 kolumn 15-positionen.

get_string_width#

get_string_width returnerar bredden på en sträng i pixlar som ett heltal, med hjälp av aktuell font.

Usage:
brain.screen.get_string_width(string)

Parametrar

Beskrivning

string

Strängen att mäta.

get_string_height#

get_string_height returnerar strängens höjd i pixlar som ett heltal, med hjälp av aktuell font.

Usage:
brain.screen.get_string_height(string)

Parametrar

Beskrivning

string

Strängen att mäta.

clear_line#

clear_line rensar den aktuella textraden.

Usage: brain.screen.clear_line()

Parametrar

Beskrivning

Den här metoden har inga parametrar.

new_line#

new_line flyttar markören till kolumn 1 på nästa rad på hjärnskärmen.

Användande:

brain.screen.new_line()

Parametrar

Beskrivning

Den här metoden har inga parametrar.

Mutatorer#

clear_screen#

clear_screen rensar alla teckningar och text från hjärnskärmen.

Användande:

brain.screen.clear_screen(color)

Parametrar

Beskrivning

color

Valfritt. Ett giltigt färgalternativ:

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

En skärmdump av V5 Brain-skärmen med hela det utskrivbara området i klarblått.

set_font#

set_font anger teckensnittet som används för att visa text på hjärnskärmen. Detta teckensnitt kommer att gälla för all text som skrivs ut efter att den här metoden körts.

Användande:

brain.screen.set_font(font)

Parametrar

Beskrivning

font

Ett giltigt teckensnittsalternativ nedan.

En skärmdump av V5 Brain-skärmen med siffror och bokstäver tryckta i vitt i det övre vänstra hörnet i teckensnittet MONO 12. Den visar AZ på en rad, tvärs över ungefär en fjärdedel av skärmens bredd. I det nedre vänstra hörnet läses 80 kolumner och 20 rader.
FontType.MONO12

Samma bild som den föregående, med teckensnittet Mono 15. Den visar AZ på en rad, över nästan halva skärmens bredd. I det nedre vänstra hörnet läser den 68 kolumner och 16 rader.
FontType.MONO15

Samma bild som den föregående, med teckensnittet Mono 20. Den visar AZ på en rad, över nästan två tredjedelar av skärmens bredd. I det nedre vänstra hörnet visas 48 kolumner och 12 rader.
FontType.MONO20

Samma bild som den föregående, med teckensnittet Mono 30. Den visar AZ på en rad, över nästan hela skärmens bredd. I det nedre vänstra hörnet visas 32 kolumner och 8 rader.
FontType.MONO30

Samma bild som den föregående, med teckensnittet Mono 40. Den visar AX på en rad, som sträcker sig över hela skärmens bredd. I det nedre vänstra hörnet läser den 24 kolumner och 6 rader.
FontType.MONO40

Samma bild som den föregående, med teckensnittet Mono 60. Den visar AP på en rad, som sträcker sig över hela skärmens bredd. Längst ner läser den 16 kolumner och 4 rader.
FontType.MONO60

Samma bild som den föregående, med typsnittet Prop 20. Den visar AZ på en rad, över nästan två tredjedelar av skärmens bredd. I det nedre vänstra hörnet visas 48 kolumner och 12 rader.
FontType.PROP20

Samma bild som den föregående, med teckensnittet Prop 30. Den visar AZ på en rad, nästan lika bred som skärmen. I det nedre vänstra hörnet visas 32 kolumner och 8 rader.
FontType.PROP30

Samma bild som den föregående, med teckensnittet Prop 40. Den visar AU på en rad, som sträcker sig över hela skärmens bredd. I det nedre vänstra hörnet visas 24 kolumner och 6 rader.
FontType.PROP40

Samma bild som den föregående, med teckensnittet Prop 60. Den visar AN på en rad, som sträcker sig över hela skärmens bredd. Längst ner läser den 15 kolumner och 4 rader.
FontType.PROP60

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

En skärmdump av V5 Brain-skärmen visar VEX i vitt i det övre vänstra hörnet, med större teckensnitt än standardinställningen.

set_pen_width#

set_pen_width anger tjockleken på ritade linjer och formens konturer.

Användande:

brain.screen.set_pen_width(value)

Parametrar

Beskrivning

value

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

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

En skärmdump av V5 Brain-skärmen som visar en rektangel med tjocka kanter tryckta i skärmens övre vänstra kvadrant.

set_pen_color#

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

Användande:

brain.screen.set_pen_color(color)

Parametrar

Beskrivning

color

Penn- och teckensnittsfärgen som ska användas. Alternativen inkluderar:

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

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

En skärmdump av V5 Brain-skärmen som visar en rektangel ritad i orange i skärmens övre vänstra kvadrant.

set_fill_color#

set_fill_color anger fyllningsfärgen som används när former ritas.

Användande:

brain.screen.set_fill_color(color)

Parametrar

Beskrivning

color

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

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

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

En skärmdump av V5 Brain-skärmen som visar en rektangel fylld med lila i skärmens nedre vänstra kvadrant.

set_origin#

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

Användande:

brain.screen.set_origin(x, y)

Parametrar

Beskrivning

x

X-koordinaten som ska anges som origo, från 0 till 479.

y

Y-koordinaten som ska anges som origo, från 0 till 239.

Dra#

draw_pixel#

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

Användande:

brain.screen.draw_pixel(x, y)

Parametrar

Beskrivning

x

X-koordinaten för att rita pixeln, från 0 till 479, med referens till skärmens origo.

y

Y-koordinaten för att rita pixeln, från 0 till 239, med referens till skärmens origo.

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

En skärmdump av V5 Brain-skärmen som visar ett sortiment av pixlar som visar hörnen på en kvadrat nära mitten av skärmen.

draw_line#

draw_line ritar en linje från den första skärmkoordinaten till den andra skärmkoordinaten med hjälp av aktuell pennbredd och pennfärg.

Användande:

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

Parametrar

Beskrivning

start_x

X-koordinaten i pixlar för raden, från 0 till 479, refererad till skärmens origo.

start_y

Y-koordinaten i pixlar för linjens början, från 0 till 239, refererad till skärmens origo.

end_x

X-koordinaten i pixlar för slutet av linjen, från 0 till 479, refererad till skärmens origo.

end_y

Y-koordinaten i pixlar för slutet av linjen, från 0 till 239, refererad till skärmens origo.

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

En skärmdump av V5 Brain-skärmen visar en tunn diagonal linje över mitten, från det övre vänstra hörnet till det nedre högra hörnet.

draw_rectangle#

draw_rectangle ritar en rektangel med aktuell pennbredd, pennfärg och fyllningsfärg, såvida inte den valfria parametern color används.

Användande:

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

Parametrar

Beskrivning

x

X-koordinaten i pixlar för rektangelns övre vänstra hörn från 0 till 479.

y

Y-koordinaten i pixlar för rektangelns övre vänstra hörn från 0 till 239.

width

Rektangelns bredd.

height

Rektangelns höjd.

color

Valfritt. Ett giltigt färgalternativ:

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

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

En skärmdump av V5 Brains skärm visar en rektangel med en tunn vit kant tryckt i den övre vänstra kvadranten.

draw_circle#

draw_circle ritar en cirkel med aktuell pennbredd, pennfärg och fyllningsfärg, såvida inte den valfria parametern color används.

Användande:

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

Parametrar

Beskrivning

x

X-koordinaten i pixlar för cirkelns centrum, från 0 till 479, refererad till skärmens origo.

y

Y-koordinaten i pixlar för cirkelns centrum, från 0 till 239, refererad till skärmens origo.

radius

Cirkelns radie, i pixlar.

color

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

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

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

En skärmdump av V5 Brain-skärmen visar en cirkel med en tunn vit kant ritad i mitten.

render#

render aktiverar dubbel buffring för hjärnans skärm. När de väl anropats kommer inga ritkommandon (som text, former eller bilder) att visas omedelbart under resten av projektet. Istället visas uppdateringar bara när render används igen. Detta möjliggör smidigare och mer kontrollerade skärmuppdateringar, men innebär att ingenting kommer att synas förrän render används.

Användande:

brain.screen.render()

Parametrar

Beskrivning

Den här metoden har inga parametrar.

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

Användande:

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

Parametrar

Beskrivning

x

X-positionen för rektangelns övre vänstra hörn, refererad till skärmens origo.

y

Y-positionen för rektangelns övre vänstra hörn, refererad till skärmens origo.

width

Rektangelns bredd.

height

Rektangelns höjd.

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

En skärmdump av V5 Brain-skärmen med vit text som löd Cut of med en heldragen röd fyrkant direkt under, i skärmens övre vänstra kvadrant som visar vad som skrivs ut inom klippområdet.

Röra#

pressing#

pressing , returnerar du ett booleskt värde som anger om hjärnskärmen trycks ned för närvarande.

  • True - Skärmen trycks ned.

  • False - Skärmen trycks inte.

Användande:

brain.screen.pressing()

Parametrar

Beskrivning

Den här metoden har inga parametrar.

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

Användande:

brain.screen.x_position()

Parametrar

Beskrivning

Den här metoden har inga parametrar.

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

Användande:

brain.screen.y_position()

Parametrar

Beskrivning

Den här metoden har inga parametrar.

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

Återuppringningar#

pressed#

pressed registrerar en funktion som ska anropas när hjärnans skärm trycks ned.

Användande:

brain.screen.pressed(callback, arg)

Parametrar

Beskrivning

callback

En tidigare definierad funktion som körs när hjärnskä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.

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

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

released#

released registrerar en funktion som ska anropas när skärmen släpps (pekning borttagen).

Användande:

brain.screen.released(callback, arg)

Parametrar

Beskrivning

callback

En tidigare definierad funktion som körs när hjärnskärmen släpps.

arg

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

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

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