Näyttö#

Johdanto#

Näyttö-metodit ohjaavat sitä, miten IQ (2. sukupolvi) aivot näyttävät tekstiä, numeroita ja grafiikkaa sisäänrakennetulla näytöllään.

Piirtämistä varten aivojen resoluutio on 160 x 108 pikseliä.

Tällä sivulla käytetään esimerkkinä Brain-nimeä brain Korvaa se tarvittaessa omalla määritetyllä nimelläsi.

Alla on luettelo kaikista menetelmistä:

Kohdistimen tulostus — Sijoita ja tulosta tekstiä.

  • print — Tulostaa tekstiä, numeroita tai muuttujan arvoja kohdistimen nykyisestä sijainnista.

  • set_cursor — Siirtää kohdistimen tiettyyn riviin ja sarakkeeseen.

  • next_row — Siirtää kohdistimen seuraavan rivin sarakkeeseen 1.

  • clear_row — Tyhjentää tekstirivin.

  • row — Palauttaa rivin, jolle teksti tulostetaan.

  • column — Palauttaa sarakkeen, johon teksti tulostetaan.

  • print_at — Tulostaa tekstiä, numeroita tai muuttujan arvoja tietyssä x- ja y-koordinaatissa.

  • get_string_width — Palauttaa merkkijonon leveyden pikseleinä käyttäen nykyistä fonttia.

  • get_string_height — Palauttaa merkkijonon korkeuden pikseleinä käyttäen nykyistä fonttia.

Mutaattorit — Muuta näytön asetuksia, värejä ja piirtokäyttäytymistä.

  • clear_screen — Tyhjentää näytön kaikista piirroksista ja tekstistä.

  • set_font — Asettaa tulostettavan tekstin fontin.

  • set_pen_width — Asettaa piirrettyjen viivojen ja ääriviivojen paksuuden.

  • set_pen_color — Asettaa tekstin, pikseleiden, viivojen ja ääriviivojen värin.

  • set_fill_color — Asettaa piirrettyjen muotojen ja tulostettujen tekstitaustojen täyttövärin.

  • set_origin — Asettaa koordinaattipohjaisessa tulostuksessa ja piirtämisessä käytettävän lähtöpisteen.

Piirrä — Lisää grafiikkaa näytölle.

  • draw_pixel — Piirtää yhden pikselin koordinaatin kohdalle.

  • draw_line — Piirtää viivan kahden pisteen välille.

  • draw_rectangle — Piirtää suorakulmion.

  • draw_circle — Piirtää ympyrän.

  • set_clip_region — Rajoittaa piirrosten ja tekstin näkymistä.

  • render — Päivittää Brainin näytön tekstillä ja piirroksilla vain kutsuttaessa.

Kohdistimen tulostus#

print#

print tulostaa tekstiä, numeroita tai muuttujan arvoja Brain-näytölle nykyiseen kohdistimen sijaintiin ja fontti.

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

Parametrit

Kuvaus

text

Näytölle tulostettava teksti, numero tai muuttujan arvo.

precision

Valinnainen. Näytettävien desimaalien määrä numeroita näytettäessä. Tämä on kirjoitettava avainsana-argumenttina, eli:precision=3Oletusarvo on 2.

opaque

Valinnainen. opaque=True — Tekstin tausta täytetään oletusarvoisesti nykyisellä täyttövärillä tai mustalla. opaque=False (oletus) — Tekstin tausta vastaa näytön taustaväriä.

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

VEX IQ Brain -näytön kuvakaappauksessa lukee ensimmäisellä rivillä valkoisella tekstillä Hei, robotti!

# 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 siirtää kohdistimen tiettyyn riviin ja sarakkeeseen Brain-näytöllä. Seuraava print -kutsu aloittaa tulostamisen tästä kohdasta. Se, kuinka monta riviä ja saraketta mahtuu mukavasti, riippuu valitusta fontista.

Kiinteävälisissä fonteissa kaikki merkit ovat saman levyisiä, mikä tekee tekstin sijoittelusta yhdenmukaista. Sitä vastoin suhteutettujen fonttien merkkien leveys vaihtelee, joten jotkut kirjaimet vievät enemmän tilaa kuin toiset. Käytetystä tyypistä riippumatta set_cursor sijoittaa kohdistimen rivi- ja sarakekoon, ei fonttityylin, perusteella. Fonttikokoa voidaan säätää käyttämällä set_font.

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

Parametrit

Kuvaus

row

Rivi, johon kohdistin siirretään.

column

Sarake, johon kohdistin siirretään.

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

IQ Brain -näytön kuvakaappauksessa vasemmassa yläkulmassa lukee valkoisella tekstillä 23.19.

next_row#

next_row siirtää kohdistimen Brain-näytön seuraavan rivin sarakkeeseen 1.

Usage:
brain.screen.next_row()

Parametrit

Kuvaus

Tällä menetelmällä ei ole parametreja.

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

IQ Brain -näytön kuvakaappauksessa rivi 1 näkyy valkoisella tekstillä vasemmassa yläkulmassa ja rivi 2 suoraan sen alapuolella.

clear_row#

clear_row tyhjentää yhden tekstirivin Brain-näytöltä.

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

Parametrit

Kuvaus

rivi

Valinnainen. Tyhjennettävä rivi. Oletusarvo on nykyinen kohdistinrivi.

väri

Valinnainen. Tyhjennettyyn riviin käytettävä väri. Vaihtoehtoja ovat:

  • 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
Voit myös määrittää mukautetun värin.

# 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 palauttaa rivin, jolle teksti tulostetaan kokonaislukuna.

Usage:
brain.screen.row()

Parametrit

Kuvaus

Tällä menetelmällä ei ole parametreja.

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

Kuvakaappaus IQ Brain -näytöstä, jossa valkoinen numero 3 on painettu näytön vasempaan reunaan, pystysuunnassa keskitettynä rivin 3 ja sarakkeen 2 kohdalle.

column#

column palauttaa sarakkeen, johon teksti tulostetaan kokonaislukuna.

Usage:
brain.screen.column()

Parametrit

Kuvaus

Tällä menetelmällä ei ole parametreja.

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

Kuvakaappaus IQ Brain -näytöstä, jossa valkoinen numero 2 on painettu näytön vasempaan reunaan, pystysuunnassa keskitettynä rivin 3 ja sarakkeen 2 kohdalle.

get_string_width#

get_string_width palauttaa merkkijonon leveyden pikseleinä kokonaislukuna, sellaisena kuin se näkyisi Brainin näytöllä. Leveys vaihtelee merkkijonon pituuden ja nykyisen fontin mukaan.

Usage:
brain.screen.get_string_width(string)

Parametrit

Kuvaus

string

Mitattava merkkijono.

get_string_height#

get_string_height palauttaa merkkijonon korkeuden pikseleinä kokonaislukuna, sellaisena kuin se näkyisi Brain-näytöllä. Korkeus vaihtelee merkkijonon pituuden ja nykyisen fontin mukaan.

Usage:
brain.screen.get_string_height(string)

Parametrit

Kuvaus

string

Mitattava merkkijono.

Mutaattorit#

clear_screen#

clear_screen tyhjentää kaikki piirrokset ja tekstin aivojen näytöltä.

Usage:
brain.screen.clear_screen(color)

Parametrit

Kuvaus

color

Valinnainen. Asettaa näytön värin. Vaihtoehtoja ovat:

  • 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
Voit myös määrittää mukautetun värin.

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

Kuvakaappaus IQ Brain -näytöstä, jossa koko tulostusalue on kirkkaan punainen.

set_font#

set_font asettaa Brain-näytöllä näytettävän fontin. Tätä fonttia käytetään kaikkeen tekstiin, joka tulostetaan joko print tai print_at -funktiolla. Projektin alussa oletusfontti on MONO20.

Usage:
brain.screen.set_font(fontname)

Parametri

Kuvaus

fontname

Sets the font to one of the following:

  • MONO12
  • MONO15
  • MONO20
  • MONO30
  • MONO40
  • MONO60
  • PROP20
  • PROP30
  • PROP40
  • PROP60
These options are shown below.

Kuvakaappaus VEX IQ Brain -näytöstä, jossa on sarja numeroita ja kirjaimia Mono 12 -fontilla. Kirjaimet AZ ovat yhdellä rivillä, joka ulottuu näytön leveydelle. Vasen alakulma osoittaa 26 merkkiä ja 9 riviä.
MONO12

Sama kuvakaappaus kuin edellinen, nyt Mono 15 -fontilla. Kirjaimet AT ovat yhdellä rivillä, joka ulottuu koko näytön leveydelle. Vasen alakulma osoittaa 20 merkkiä leveästi ja 7 riviä.
MONO15

Sama kuvakaappaus kuin edellinen, nyt Mono 20 -fontilla. Kirjaimet AP ovat yhdellä rivillä, joka ulottuu koko näytön leveydelle. Vasen alakulma osoittaa 16 merkkiä leveydellä ja 5 riviä.
MONO20

Sama kuvakaappaus kuin edellinen, nyt Mono 30 -fontilla. Numerot 1–9 ja ylimääräinen 0 ovat yhdellä rivillä, joka ulottuu koko näytön leveydelle. Vasen alakulma osoittaa kolmea riviä.
MONO30

Sama kuvakaappaus kuin edellinen, nyt Mono 40 -fontilla. Numerot 1–8 ovat toisella rivillä koko näytön leveyden kattaen.
MONO40

Sama kuvakaappaus kuin edellinen, nyt Mono 60 -fontilla. Näytöllä näkyy MN 60 isolla fontilla, joka peittää lähes koko näytön yläosan.
MONO60

Sama kuvakaappaus kuin edellinen, nyt Prop 20 -fontilla. Kirjaimet AW ovat yhdellä rivillä, joka ulottuu koko näytön leveydelle. Vasen alakulma osoittaa 26 merkkiä leveästi ja 5 riviä.
PROP20

Sama kuvakaappaus kuin edellinen, nyt Prop 30 -fontilla. Numerot 1-9 toistetaan kahdesti samalla rivillä, joka kattaa koko näytön leveyden. Vasen alakulma osoittaa 18 merkkiä leveästi ja 3 riviä.
PROP30

Sama kuvakaappaus kuin edellinen, nyt Prop 40 -fontilla. Näytössä lukee Prop 40 ylimmällä rivillä ja toisella rivillä 14 merkkiä ja 2 riviä.
PROP40

Sama kuvakaappaus kuin edellinen, nyt Prop 60 -fontilla. Näytöllä lukee PROP 60 isolla fontilla, joka peittää lähes koko näytön yläosan.
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")

Kuvakaappaus IQ Brain -näytöstä, jossa on valkoista tekstiä kahdella rivillä vasemmassa yläkulmassa. Ensimmäisellä rivillä lukee Mono Medium ja toisella rivillä heti sen alla lukee Prop Medium pienemmällä fontilla.

set_pen_width#

set_pen_width asettaa piirrettyjen viivojen ja ääriviivojen paksuuden.

Usage:
brain.screen.set_pen_width(width)

Parametri

Kuvaus

width

Kynän leveys pikseleinä väliltä 0–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)

Kuvakaappaus IQ Brain -näytöstä, jossa on kaksi valkoista ympyrää painettuna näytön alaosaan. Vasemmalla oleva ympyrä on piirretty kapeammalla reunalla kuin oikealla oleva.

set_pen_color#

set_pen_color asettaa tekstin, pikseleiden, viivojen ja ääriviivojen värin.

Usage:
brain.screen.set_pen_color(color)

Parametri

Kuvaus

color

Valinnainen. Käytettävä kynän ja fontin väri. Vaihtoehtoja ovat:

  • 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
Voit myös määrittää mukautetun värin.

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

Kuvakaappaus IQ Brain -näytöstä, jonka alaosaan on piirretty kaksi pientä suorakulmiota. Vasen suorakulmio on sininen ja oikea valkoinen.

set_fill_color#

set_fill_color asettaa täyttövärin, jota käytetään muotojen piirtämisessä.

Usage:
brain.screen.set_fill_color(color)

Parametri

Kuvaus

color

Valinnainen. Käytettävä täyttöväri. Vaihtoehtoja ovat:

  • 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
Voit myös määrittää mukautetun värin.

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

Kuvakaappaus IQ Brain -näytöstä, jossa on kirkkaan keltainen ympyrä ja ohut valkoinen reunus näytön vasemmalla puoliskolla.

set_origin#

set_origin asettaa piirtämisessä ja koordinaatistoon perustuvassa tulostuksessa käytettävän origon Brain-näytöllä. Oletusarvoisesti origo on näytön vasen yläkulma.

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

Parametri

Kuvaus

x

Uusi x-koordinaatti, joka asetetaan lähtöpisteeksi, kokonaislukuna väliltä 0–159.

y

Uusi y-koordinaatti, joka asetetaan origoksi, kokonaislukuna 0–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)

Kuvakaappaus IQ Brain -näytöstä, jossa on while-viiva, joka alkaa hieman keskikohdasta vasemmalle ja jatkuu vinottain alaspäin oikealle kohti näytön oikeaa alakulmaa.

Piirrä#

draw_pixel#

draw_pixel piirtää yhden pikselin valittuun x- ja y-koordinaattiin käyttäen nykyistä kynän väriä.

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

Parametri

Kuvaus

x

Pikselin piirrettävä x-koordinaatti kokonaislukuna 0–159.

y

Y-koordinaatti, johon pikseli piirretään, kokonaislukuna 0–107.

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

Kuvakaappaus IQ Brain -näytöstä, jossa on pieni valkoinen piste näytön keskellä.

draw_line#

draw_line piirtää viivan ensimmäisestä näyttökoordinaatista (x1, y1) toiseen näyttökoordinaattiin (x2, y2) käyttäen nykyisiä kynän leveys ja kynän väri -arvoja.

X- ja y-koordinaatit käyttävät oletusarvoista origoa (0, 0), ellei eri origoa ole asetettu käyttämällä funktiota set_origin.

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

Parametri

Kuvaus

x1

Suoran aloitus-x-koordinaatti kokonaislukuna 0–159.

y1

Suoran aloitus-y-koordinaatti kokonaislukuna 0–107.

x2

Suoran päättymispisteen x-koordinaatti kokonaislukuna väliltä 0–159.

y2

Suoran päätepisteen y-koordinaatti kokonaislukuna väliltä 0–107.

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

Kuvakaappaus IQ Brain -näytöstä, jossa on valkoinen vinoviiva vasemmasta yläkulmasta oikeaan alakulmaan.

draw_rectangle#

draw_rectangle piirtää suorakulmion, jonka vasen yläkulma on valitussa (x, y) koordinaatissa ja jonka koko määräytyy annetun leveyden ja korkeuden mukaan, kaikki mitattuna pikseleinä. Suorakulmion ääriviivat piirretään käyttämällä nykyisiä pen width ja pen color -parametreja. Sisäosa täytetään nykyisellä täyttövärillä, ellei valinnaista color -parametria käytetä.

X- ja y-koordinaatit käyttävät oletusarvoista origoa (0,0), ellei eri origoa ole asetettu käyttämällä funktiota set_origin.

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

Parametri

Kuvaus

x

Suorakulmion vasemman yläkulman x-koordinaatti kokonaislukuna väliltä 0–159.

y

Suorakulmion vasemman yläkulman y-koordinaatti kokonaislukuna väliltä 0–107.

width

Suorakulmion leveys pikseleinä.

height

Suorakulmion korkeus pikseleinä.

color

Valinnainen. Suorakulmion täyttöväri. Vaihtoehtoja ovat:

  • 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
Voit myös määrittää mukautetun värin.

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

Kuvakaappaus IQ Brain -näytöstä, jossa on suuri punainen suorakulmio, jonka ympärillä on ohut valkoinen reunus lähes näytön keskelle piirrettynä.

draw_circle#

draw_circle piirtää ympyrän, jonka keskipiste on valitussa (x, y) koordinaatissa ja jonka koko määräytyy annetun säteen mukaan, kaikki mitattuna pikseleinä. Ympyrän ääriviivat piirretään käyttämällä nykyisiä kynän leveys ja kynän väri -parametreja. Sisäosa täytetään nykyisellä täyttövärillä, ellei valinnaista color -parametria käytetä.

X- ja y-koordinaatit käyttävät oletusarvoista origoa (0,0), ellei eri origoa ole asetettu käyttämällä funktiota set_origin.

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

Parametri

Kuvaus

x

Ympyrän keskipisteen x-koordinaatti kokonaislukuna väliltä 0–159.

y

Ympyrän keskipisteen y-koordinaatti kokonaislukuna väliltä 0–107.

radius

Ympyrän säde pikseleinä.

color

Valinnainen. Ympyrän täyttöväri. Vaihtoehtoja ovat:

  • 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
Voit myös määrittää mukautetun värin.

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

Kuvakaappaus IQ Brain -näytöstä, jossa on vihreä ympyrä ja ohut valkoinen reunus näytön keskellä.

set_clip_region#

set_clip_region määrittää näytölle suorakaiteen muotoisen alueen, johon kaikki piirrokset ja teksti rajataan. Tämän alueen ulkopuolella olevaa sisältöä ei näytetä.

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

Parametri

Kuvaus

x

Leikkausalueen vasemman yläkulman x-koordinaatti, joka annetaan kokonaislukuna tai liukulukuna väliltä 0–159.

y

Leikkausalueen vasemman yläkulman y-koordinaatti, joka annetaan kokonaislukuna tai liukulukuna väliltä 0–107.

width

Leikkausalueen leveys pikseleinä.

height

Leikkausalueen korkeus pikseleinä.

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

Kuvakaappaus IQ Brain -näytöstä, jossa on valkoista tekstiä lähellä näytön keskustaa, jossa lukee Leikkaa pois, ja sen alla on kiinteä punainen neliö, joka näyttää, mitä leikealueelle tulostetaan.

render#

render ottaa käyttöön kaksinkertaisen puskuroinnin Brainin näytöllä. Kun komentoa kutsutaan, mitkään piirustuskomennot (kuten teksti, muodot tai kuvat) eivät enää näy välittömästi projektin loppuosassa. Sen sijaan päivitykset näkyvät vasta, kun render -komentoa käytetään uudelleen. Tämä mahdollistaa sujuvammat ja hallitummat näytön päivitykset, mutta tarkoittaa, että mikään ei ole näkyvissä ennen kuin render käytetään.

Usage:
brain.screen.render()

Parametrit

Kuvaus

Tällä menetelmällä ei ole parametreja.

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