Skärm#

Introduktion#

Skärmmetoderna styr hur IQ-hjärnan (2:a generationens) visar text, siffror och grafik på den inbyggda skärmen.

För att rita är hjärnans upplösning 160 x 108 pixlar.

Den här sidan använder brain som exempelnamn för Hjärna. Ersätt det med ditt eget konfigurerade namn efter behov.

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.

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.

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

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

Markörutskrift#

print#

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

Usage:
brain.screen.print(text, precision, opaque)

Parametrar

Beskrivning

text

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

precision

Valfritt. Antalet decimaler som ska visas när tal visas. Detta måste skrivas som ett nyckelordsargument, t.ex.:precision=3Standardvärdet är 2.

opaque

Valfritt. opaque=True — Textens bakgrund fylls med den aktuella fyllningsfärgen eller svart som standard. opaque=False (standard) — Textens bakgrund matchar skärmens bakgrundsfärg.

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

En skärmdump av VEX IQ Brain-skärmen lyder "Hej robot!" i vit text på första raden.

# Display a percentage with 4 decimal
# places and a blue background
brain.screen.set_fill_color(Color.BLUE)
brain.screen.print((42/100), precision = 4, opaque = True)

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.

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:
brain.screen.set_cursor(row, column)

Parametrar

Beskrivning

row

Raden att flytta markören till.

column

Kolumnen att flytta markören till.

# Repeatedly print the Brain's timer at
# the top left of the screen
while True:
    brain.screen.print(brain.timer.time(SECONDS))
    brain.screen.next_row()
    wait(1, SECONDS)
    brain.screen.clear_screen()
    brain.screen.set_cursor(1, 1)

En skärmdump av IQ Brain-skärmen visar 23,19 i vit text i det övre vänstra hörnet.

next_row#

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

Usage:
brain.screen.next_row()

Parametrar

Beskrivning

Den här metoden har inga parametrar.

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

En skärmdump av IQ Brain-skärmen visar rad 1 i vit text i det övre vänstra hörnet och rad 2 direkt nedanför.

clear_row#

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

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

Parametrar

Beskrivning

rad

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

färg

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

  • Color.BLACK
  • Color.BLUE
  • Color.BLUE_GREEN
  • Color.BLUE_VIOLET
  • Color.GREEN
  • Color.ORANGE
  • Color.PURPLE
  • Color.RED
  • COLOR.RED_ORANGE
  • Color.RED_VIOLET
  • Color.VIOLET
  • Color.WHITE
  • Color.YELLOW
  • Color.YELLOW_GREEN
  • Color.YELLOW_ORANGE
Du kan också ange en anpassad färg.

# Display text on two rows
brain.screen.print("This text stays")
brain.screen.next_row()
brain.screen.print("This disappears")

# Wait 3 seconds before clearing
# only the second row
wait(3, SECONDS)
brain.screen.clear_row()

# Turn the 5th row green
brain.screen.clear_row(5, Color.GREEN)

row#

row returnerar raden där texten ska skrivas ut som ett heltal.

Usage:
brain.screen.row()

Parametrar

Beskrivning

Den här metoden har inga parametrar.

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

En skärmdump av IQ Brain-skärmen med en vit siffra 3 tryckt längst till vänster på skärmen, centrerad vertikalt, vid rad 3 kolumn 2 position.

column#

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

Usage:
brain.screen.column()

Parametrar

Beskrivning

Den här metoden har inga parametrar.

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

En skärmdump av IQ Brain-skärmen med en vit siffra 2 tryckt längst till vänster på skärmen, centrerad vertikalt, vid rad 3 kolumn 2-positionen.

get_string_width#

get_string_width returnerar bredden på en sträng i pixlar som ett heltal, så som den skulle visas på Brains skärm. Bredden varierar beroende på strängens längd och nuvarande teckensnitt.

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, så som den skulle visas på Brain-skärmen. Höjden varierar beroende på strängens längd och nuvarande teckensnitt.

Usage:
brain.screen.get_string_height(string)

Parametrar

Beskrivning

string

Strängen att mäta.

Mutatorer#

clear_screen#

clear_screen rensar alla teckningar och text från hjärnans skärm.

Usage:
brain.screen.clear_screen(color)

Parametrar

Beskrivning

color

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

  • Color.BLACK
  • Color.BLUE
  • Color.BLUE_GREEN
  • Color.BLUE_VIOLET
  • Color.GREEN
  • Color.ORANGE
  • Color.PURPLE
  • Color.RED
  • COLOR.RED_ORANGE
  • Color.RED_VIOLET
  • Color.VIOLET
  • Color.WHITE
  • Color.YELLOW
  • Color.YELLOW_GREEN
  • Color.YELLOW_ORANGE
Du kan också ange en anpassad färg.

# Draw a circle and clear it after 
# 2 seconds
brain.screen.draw_circle(80, 50, 20)
wait(2, SECONDS)
brain.screen.clear_screen()

# Turn the screen red
brain.screen.clear_screen(Color.RED)

En skärmdump av IQ Brain-skärmen med hela det utskrivbara området i klarrött.

set_font#

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

Usage:
brain.screen.set_font(fontname)

Parameter

Beskrivning

fontname

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

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

En skärmdump av VEX IQ Brain-skärmen med en serie siffror och bokstäver i teckensnittet Mono 12. Bokstaven AZ finns på en rad och sträcker sig över skärmens bredd. Det nedre vänstra hörnet indikerar 26 tecken bredd och 9 rader.
MONO12

Samma skärmdump som den föregående, nu med teckensnittet Mono 15. Bokstäverna AT finns på en rad och sträcker sig över hela skärmens bredd. Det nedre vänstra hörnet indikerar 20 tecken bredd och 7 rader.
MONO15

Samma skärmdump som den föregående, nu med teckensnittet Mono 20. Bokstäverna AP finns på en rad och sträcker sig över hela skärmens bredd. Det nedre vänstra hörnet indikerar 16 tecken bredd och 5 rader.
MONO20

Samma skärmdump som den föregående, nu med teckensnittet Mono 30. Siffrorna 1 till 9 och en extra 0 visas på en rad och sträcker sig över hela skärmens bredd. Det nedre vänstra hörnet indikerar 3 rader.
MONO30

Samma skärmdump som den föregående, nu med teckensnittet Mono 40. Siffrorna 1 till 8 finns på den andra raden och sträcker sig över hela skärmens bredd.
MONO40

Samma skärmdump som den föregående, nu med teckensnittet Mono 60. Skärmen visar MN 60 i stor teckenstorlek och tar upp nästan hela den övre halvan av skärmen.
MONO60

Samma skärmdump som den föregående, nu med Prop 20-typsnittet. Bokstäverna AW finns på en rad och sträcker sig över hela skärmens bredd. Det nedre vänstra hörnet indikerar 26 tecken bredd och 5 rader.
PROP20

Samma skärmdump som den föregående, nu med Prop 30-typsnittet. Siffrorna 1-9 upprepas två gånger på en rad, över hela skärmens bredd. Det nedre vänstra hörnet indikerar 18 tecken bredd och 3 rader.
PROP30

Samma skärmdump som den föregående, nu med Prop 40-typsnittet. Skärmen visar Prop 40 på den översta raden och indikerar 14 tecken och 2 rader på den andra.
PROP40

Samma skärmdump som den föregående, nu med teckensnittet Prop 60. Skärmen visar PROP 60 i stor stil och tar upp nästan hela den övre halvan av skärmen.
PROP60

# Display two different fonts on 
# two separate lines
brain.screen.set_font(FontType.MONO20)
brain.screen.print("Mono Medium")
brain.screen.next_row()
brain.screen.set_font(FontType.PROP20)
brain.screen.print("Prop Medium")

En skärmdump av IQ Brain-skärmen med vit text på två rader i det övre vänstra hörnet. Den första raden har texten Mono Medium och den andra raden direkt nedanför har texten Prop Medium i ett mindre teckensnitt.

set_pen_width#

set_pen_width anger tjockleken på ritade linjer och formens konturer.

Usage:
brain.screen.set_pen_width(width)

Parameter

Beskrivning

width

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

# Draw two circles with
# different pen widths
brain.screen.draw_circle(40, 70, 20)
brain.screen.set_pen_width(5)
brain.screen.draw_circle(100, 70, 20)

En skärmdump av IQ Brain-skärmen med två vita cirklar tryckta på den nedre halvan av skärmen. Cirkeln till vänster är ritad med en smalare kantlinje än den till höger.

set_pen_color#

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

Usage:
brain.screen.set_pen_color(color)

Parameter

Beskrivning

color

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

  • Color.BLACK
  • Color.BLUE
  • Color.BLUE_GREEN
  • Color.BLUE_VIOLET
  • Color.GREEN
  • Color.ORANGE
  • Color.PURPLE
  • Color.RED
  • COLOR.RED_ORANGE
  • Color.RED_VIOLET
  • Color.VIOLET
  • Color.WHITE
  • Color.YELLOW
  • Color.YELLOW_GREEN
  • Color.YELLOW_ORANGE
Du kan också ange en anpassad färg.

# Draw two rectangles with
# different colors
brain.screen.draw_rectangle(100, 50, 10, 20)
brain.screen.set_pen_color(Color.BLUE)
brain.screen.draw_rectangle(50, 50, 10, 20)

En skärmdump av IQ Brain-skärmen med två små rektanglar ritade på den nedre halvan av skärmen. Rektangeln till vänster är blå och den till höger är vit.

set_fill_color#

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

Usage:
brain.screen.set_fill_color(color)

Parameter

Beskrivning

color

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

  • Color.BLACK
  • Color.BLUE
  • Color.BLUE_GREEN
  • Color.BLUE_VIOLET
  • Color.GREEN
  • Color.ORANGE
  • Color.PURPLE
  • Color.RED
  • COLOR.RED_ORANGE
  • Color.RED_VIOLET
  • Color.VIOLET
  • Color.WHITE
  • Color.YELLOW
  • Color.YELLOW_GREEN
  • Color.YELLOW_ORANGE
Du kan också ange en anpassad färg.

# Draw a yellow circle
brain.screen.set_fill_color(Color.YELLOW)
brain.screen.draw_circle(50, 50, 20)

En skärmdump av IQ Brain-skärmen med en ljusgul cirkel med en tunn vit kant ritad på vänster halva av skärmen.

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.

Usage:
brain.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 159.

y

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

# Draw a line with the origin set to (50, 50)
brain.screen.set_origin(50, 50)
brain.screen.draw_line(1, 1, 159, 107)

En skärmdump av en IQ Brain-skärm med en while-linje som börjar något till vänster om mitten och sträcker sig diagonalt nedåt till höger mot skärmens nedre högra hörn.

Dra#

draw_pixel#

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

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

Parameter

Beskrivning

x

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

y

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

# Draw one pixel at the center
# of the screen
brain.screen.draw_pixel(80, 50)

En skärmdump av IQ Brain-skärmen med en liten vit prick i mitten av skärmen.

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:
brain.screen.draw_line(x1, y1, x2, y2)

Parameter

Beskrivning

x1

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

y1

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

x2

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

y2

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

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

En skärmdump av IQ Brain-skärmen med en 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:
brain.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 159.

y

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

width

Rektangelns bredd, i pixlar.

height

Rektangelns höjd, i pixlar.

color

Valfritt. Rektangelns fyllningsfärg. Alternativen inkluderar:

  • Color.BLACK
  • Color.BLUE
  • Color.BLUE_GREEN
  • Color.BLUE_VIOLET
  • Color.GREEN
  • Color.ORANGE
  • Color.PURPLE
  • Color.RED
  • COLOR.RED_ORANGE
  • Color.RED_VIOLET
  • Color.VIOLET
  • Color.WHITE
  • Color.YELLOW
  • Color.YELLOW_GREEN
  • Color.YELLOW_ORANGE
Du kan också ange en anpassad färg.

# Draw a red rectangle on the screen
brain.screen.draw_rectangle(25, 25, 100, 50, Color.RED)

En skärmdump av IQ Brain-skärmen med en stor röd rektangel med en tunn vit kant ritad nästan centrerad på 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:
brain.screen.draw_circle(x, y, radius, color)

Parameter

Beskrivning

x

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

y

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

radius

Cirkelns radie, i pixlar.

color

Valfritt. Fyllningsfärgen för cirkeln. Alternativen inkluderar:

  • Color.BLACK
  • Color.BLUE
  • Color.BLUE_GREEN
  • Color.BLUE_VIOLET
  • Color.GREEN
  • Color.ORANGE
  • Color.PURPLE
  • Color.RED
  • COLOR.RED_ORANGE
  • Color.RED_VIOLET
  • Color.VIOLET
  • Color.WHITE
  • Color.YELLOW
  • Color.YELLOW_GREEN
  • Color.YELLOW_ORANGE
Du kan också ange en anpassad färg.

# Draw a green circle on the screen
brain.screen.draw_circle(80, 50, 20, Color.GREEN)

En skärmdump av IQ Brain-skärmen med en heldragen grön cirkel med en tunn vit kant i mitten av skärmen.

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:
brain.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 heltal eller flyttal från 0 till 159.

y

Y-koordinaten för det övre vänstra hörnet av klippområdet, angiven som ett heltal eller flyttal från 0 till 107.

width

Klippområdets bredd i pixlar.

height

Klippområdets höjd i pixlar.

# 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 IQ Brain-skärmen med vit text nära mitten av skärmen som visar Klipp av, med en heldragen röd fyrkant direkt under, som visar vad som skrivs ut i klippområdet.

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.

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