Scherm#

Invoering#

De schermmethoden bepalen hoe de VEX AIM-codeerrobot tekst, cijfers en afbeeldingen op zijn scherm weergeeft en hoe hij reageert op aanrakingen van het scherm.

Hieronder vindt u een lijst met alle methoden:

Aanraakbediening – Detecteert en reageert op aanrakingen van het scherm.

  • pressing – Geeft aan of het scherm momenteel wordt ingedrukt.

  • x_position – Geeft de x-coördinaat van de laatst aangeklikte knop op het scherm terug.

  • y_position – Geeft de y-coördinaat van de laatst aangeklikte schermtoets terug.

Cursor Print – Tekst weergeven met een rij-/kolomsysteem.

  • print – Drukt tekst, getallen of variabele waarden af ​​op de huidige cursorpositie.

  • set_cursor – Verplaatst de cursor naar een specifieke rij en kolom.

  • next_row – Verplaatst de cursor naar kolom 1 van de volgende rij.

  • clear_row – Maakt een rij tekst leeg.

  • get_row – Retourneert de huidige cursorrij.

  • get_column – Retourneert de huidige cursor-kolom.

XY-afdrukken – Tekst weergeven op een specifieke schermcoördinaat.

  • print_at – Drukt tekst, getallen of variabele waarden af ​​op een specifieke x- en y-coördinaat.

  • set_origin – Stelt de oorsprong in die wordt gebruikt voor coördinatengebaseerd afdrukken en tekenen.

Mutators – Wis het scherm of werk de visuele instellingen bij.

  • clear_screen – Maakt het scherm leeg van alle tekeningen en tekst.

  • set_font – Stelt het lettertype in voor de afgedrukte tekst.

  • set_pen_width – Stelt de dikte in van getekende lijnen en vormcontouren.

  • set_pen_color – Stelt de kleur in van tekst, pixels, lijnen en vormcontouren.

  • set_fill_color – Stelt de vulkleur in voor getekende vormen en achtergronden van afgedrukte tekst.

Tekenen – Voeg afbeeldingen en grafische elementen toe aan het scherm.

Callbacks – Voeren functies uit wanneer het scherm wordt ingedrukt of losgelaten.

  • pressed – Registreert een functie die moet worden aangeroepen wanneer het scherm wordt ingedrukt.

  • released – Registreert een functie die moet worden aangeroepen wanneer het scherm wordt vrijgegeven.

Aanraken#

pressing#

pressing retourneert een Booleaanse waarde die aangeeft of het scherm van de robot momenteel wordt ingedrukt.

  • True – Er wordt op het scherm gedrukt.

  • False – Er wordt niet op het scherm gedrukt.

Usage:
robot.screen.pressing()

Parameters

Beschrijving

Deze methode heeft geen parameters.

# 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 retourneert de x-coördinaat van de laatst aangeklikte knop op het scherm als een geheel getal van 0 (links) tot 240 (rechts).

Usage:
robot.screen.x_position()

Parameters

Beschrijving

Deze methode heeft geen parameters.

# 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 retourneert de y-coördinaat van de laatst aangeklikte knop op het scherm als een geheel getal van 0 (boven) tot 240 (onder).

Usage:
robot.screen.y_position()

Parameters

Beschrijving

Deze methode heeft geen parameters.

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

Cursor Print#

print#

print print tekst, getallen of variabele waarden op het scherm van de robot op de huidige cursorpositie en lettertype.

Usage:
robot.screen.print(text)

Parameters

Beschrijving

text

De tekst, het getal of de variabele waarde die op het scherm moet worden weergegeven.

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

Een screenshot van het scherm van de robot, met "Hallo, Robot!" in witte letters bovenaan.

set_cursor#

set_cursor verplaatst de tekstcursor naar een specifieke rij en kolom op het scherm van de robot. De volgende print aanroep begint met printen op die locatie. Het aantal rijen en kolommen dat past, is afhankelijk van het geselecteerde lettertype. Met het standaard monospace medium lettertype kan het scherm maximaal 8 rijen en 13 kolommen duidelijk weergeven. Tekst die buiten dit bereik wordt geplaatst, kan worden afgesneden of moeilijker leesbaar zijn.

Monospaced lettertypen hebben tekens die allemaal dezelfde breedte hebben, waardoor de tekst consistent wordt geplaatst. Proportionele lettertypen daarentegen variëren in tekenbreedte, waardoor sommige letters meer ruimte innemen dan andere. Ongeacht welk type wordt gebruikt, positioneert set_cursor de cursor op basis van de rij- en kolomgrootte, niet op basis van de letterstijl. De lettergrootte kan worden aangepast met set_font.

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

Parameters

Beschrijving

row

De rij waarnaar de cursor moet worden verplaatst.

column

De kolom waarnaar de cursor moet worden verplaatst.

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

Een screenshot van het scherm van de robot, met "Rij 3, Kolom 2" in witte letters net boven het midden van het scherm, beginnend bij rij 3 kolom 2.

next_row#

next_row verplaatst de cursor naar kolom 1 op de volgende rij op het scherm van de robot.

Usage:
robot.screen.next_row()

Parameters

Beschrijving

Deze methode heeft geen parameters.

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

Een screenshot van het scherm van de robot met witte tekst. Op het scherm staat 'Regel 1' bovenaan, links uitgelijnd, en 'Regel 2' direct daaronder.

clear_row#

clear_row wist één regel tekst op het scherm van de robot.

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

Parameter

Beschrijving

row

Optioneel. De te wissen rij als geheel getal. Standaard is dit de huidige cursorrij.

color

Optioneel. De kleur die moet worden toegepast op de gewiste rij. Opties zijn:

  • BLACK
  • BLUE
  • CYAN
  • GREEN
  • ORANGE
  • PURPLE
  • RED
  • TRANSPARENT
  • WHITE
  • YELLOW
U kunt ook een aangepaste kleur opgeven.

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

Een screenshot van het scherm van de robot met een groene balk in het midden van het scherm, van links naar rechts.

get_row#

get_row retourneert de huidige rij waar de tekst wordt afgedrukt als een geheel getal.

Usage:
robot.screen.get_row()

Parameters

Beschrijving

Deze methode heeft geen parameters.

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

SA-screenshot van het scherm van de robot, met een witte 3 afgedrukt nabij het midden van het linkerbovenkwadrant, op rij 3 kolom 2.

get_column#

get_column retourneert de huidige kolom waarin tekst wordt afgedrukt als een geheel getal.

Usage:
robot.screen.get_column()

Parameters

Beschrijving

Deze methode heeft geen parameters.

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

Een screenshot van het scherm van de robot, met een witte 2 afgedrukt nabij het midden van het linkerbovenkwadrant, op rij 3 kolom 2.

XY-afdruk#

set_origin#

set_origin stelt het oorsprongspunt in dat wordt gebruikt voor tekenen en coördinaatgebaseerd printen op het scherm van de robot. Standaard is het oorsprongspunt de linkerbovenhoek van het scherm.

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

Parameter

Beschrijving

x

De nieuwe x-coördinaat die als oorsprong moet worden ingesteld, wordt gegeven als een geheel getal van 0 tot 240.

y

De nieuwe y-coördinaat die als oorsprong moet worden ingesteld, wordt gegeven als een geheel getal van 0 tot 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)

Een screenshot van het scherm van de robot met een witte rechthoek in het linkeronderkwadrant. De linkerbovenhoek van de rechthoek is het midden van het scherm.

Mutators#

clear_screen#

clear_screen wist alle tekeningen en tekst van het scherm van de robot. Standaard wordt ook de cursorpositie teruggezet naar rij 1, kolom 1.

Usage:
robot.screen.clear_screen(color)

Parameter

Beschrijving

color

Optioneel. Hiermee stelt u de schermkleur in. Mogelijkheden zijn:

  • BLACK
  • BLUE
  • CYAN
  • GREEN
  • ORANGE
  • PURPLE
  • RED
  • TRANSPARENT
  • WHITE
  • YELLOW
U kunt ook een aangepaste kleur opgeven.

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

Een screenshot van het scherm van de robot, waarop het hele scherm felrood is weergegeven.

set_font#

set_font stelt het lettertype in dat wordt gebruikt voor het weergeven van tekst op het scherm van de robot. Dit lettertype is van toepassing op alle tekst die wordt afgedrukt met print of print_at. Het standaardlettertype aan het begin van een project is MONO24.

Usage:
robot.screen.set_font(fontname)

Parameter

Beschrijving

fontname

Sets the font to one of the following:

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

Een screenshot van het scherm van de robot met een selectie van cijfers en letters afgedrukt in het lettertype Mono 12. Het alfabet beslaat 1 regel tekst. Onderaan staat 26 tekens breed en 15 regels.
MONO12

Dezelfde afbeelding als de vorige, maar met het lettertype Mono 15. De letters AT beslaan één regel tekst. Onderaan staat 20 tekens breed en 12 regels.
MONO15

Dezelfde afbeelding als de vorige, met lettertype Mono 20. De letters AP beslaan 1 regel tekst. Onderaan staat 16 tekens breed en 9 regels.
MONO20

Dezelfde afbeelding als de vorige, met het lettertype Mono 24. De letters AM beslaan 1 regel tekst. Onderaan staat 13 tekens breed en 8 regels.
MONO24

Dezelfde afbeelding als de vorige, met lettertype Mono 30. De letters AK beslaan 1 regel tekst. Onderaan staat 11 tekens breed en 6 regels.
MONO30

Dezelfde afbeelding als de vorige, met lettertype Mono 40. De letters AH beslaan 1 regel tekst. Onderaan staat 8 tekens breed en 5 regels.
MONO40

Dezelfde afbeelding als de vorige, met cijfers afgedrukt in het lettertype Mono 60. De cijfers 1-6 beslaan 1 regel tekst. Onderaan staat 3 regels.
MONO60

Dezelfde afbeelding als de vorige, met het Prop 20-lettertype. De letters A beslaan 1 regel tekst. Onderaan staat 20 tekens breed en 9 regels.
PROP20

Dezelfde afbeelding als de vorige, met het Prop 30-lettertype. De letters AM beslaan 1 regel tekst. De onderste regel bevat 15 tekens over 6 regels.
PROP30

Dezelfde afbeelding als de vorige, met het Prop 40-lettertype. De letters AJ beslaan 1 regel tekst. Onderaan staat 11 tekens breed en 5 regels.
PROP40

Dezelfde afbeelding als de vorige, met cijfers afgedrukt in het Prop 60-lettertype. De cijfers 1-7 beslaan één regel tekst. Onderaan staat 7 bij 3.
PROP60

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

Een screenshot van het scherm van de robot toont VEX in Mono 40-lettertype in de linkerbovenhoek.

set_pen_width#

set_pen_width stelt de dikte in van getekende lijnen en vormcontouren.

Usage:
robot.screen.set_pen_width(width)

Parameter

Beschrijving

width

De penbreedte, in pixels, van 0 tot 32.

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

Een screenshot van het scherm van de robot met een dikke witte rechthoek over de bovenste helft getekend.

set_pen_color#

set_pen_color stelt de kleur in van tekst, pixels, lijnen en vormcontouren.

Usage:
robot.screen.set_pen_color(color)

Parameter

Beschrijving

color

Optioneel. De te gebruiken pen- en letterkleur. Opties zijn:

  • BLACK
  • BLUE
  • CYAN
  • GREEN
  • ORANGE
  • PURPLE
  • RED
  • TRANSPARENT
  • WHITE
  • YELLOW
U kunt ook een aangepaste kleur opgeven.

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

Een screenshot van het scherm van de robot met een rode rechthoek met een dunne rand in de bovenste helft.

set_fill_color#

set_fill_color stelt de vulkleur in die wordt gebruikt bij het tekenen van vormen en wanneer afgedrukte tekst een achtergrond gebruikt.

Usage:
robot.screen.set_fill_color(color)

Parameter

Beschrijving

color

Optioneel. De opvulkleur die gebruikt moet worden. Opties zijn:

  • BLACK
  • BLUE
  • CYAN
  • GREEN
  • ORANGE
  • PURPLE
  • RED
  • TRANSPARENT
  • WHITE
  • YELLOW
U kunt ook een aangepaste kleur opgeven.

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

Een screenshot van het scherm van de robot met twee parallelle oranje rechthoeken met dunne, witte randen, links in het midden van het scherm.

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

Een screenshot van het scherm van de robot toont 'Markeren' in witte tekst met een paarse markering eromheen, beginnend in de linkerbovenhoek.

Tekenen#

draw_pixel#

draw_pixel tekent één pixel op de geselecteerde x- en y-coördinaat met behulp van de huidige penkleur.

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

Parameter

Beschrijving

x

De x-coördinaat waar de pixel getekend zal worden, gegeven als een geheel getal van 0 tot 240.

y

De y-coördinaat waar de pixel getekend zal worden, gegeven als een geheel getal van 0 tot 240.

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

Een screenshot van het scherm van de robot met een enkele witte pixel in het midden.

draw_line#

draw_line tekent een lijn van de eerste schermcoördinaat (x1, y1) naar de tweede schermcoördinaat (x2, y2) met behulp van de huidige penbreedte en penkleur.

De x- en y-coördinaten gebruiken de standaard oorsprong (0, 0), tenzij een andere oorsprong is ingesteld met set_origin.

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

Parameter

Beschrijving

x1

De startcoördinaat van de lijn (x-coördinaat), gegeven als een geheel getal van 0 tot 240.

y1

De begincoördinaat van de lijn op de y-as, gegeven als een geheel getal van 0 tot 240.

x2

De eindcoördinaat van de lijn (x-coördinaat), gegeven als een geheel getal van 0 tot 240.

y2

De eind-y-coördinaat van de lijn, gegeven als een geheel getal van 0 tot 240.

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

Een screenshot van het scherm van de robot met een dunne witte diagonale lijn getekend van de linkerbovenhoek naar de rechteronderhoek.

draw_rectangle#

draw_rectangle tekent een rechthoek met de linkerbovenhoek op de geselecteerde (x, y) coördinaat en een grootte bepaald door de opgegeven breedte en hoogte, beide gemeten in pixels. De omtrek van de rechthoek wordt getekend met de huidige penbreedte en penkleur. Het interieur wordt gevuld met de huidige vulkleur, tenzij de optionele color parameter wordt gebruikt.

De x- en y-coördinaten gebruiken de standaard oorsprong (0, 0), tenzij een andere oorsprong is ingesteld met set_origin.

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

Parameter

Beschrijving

x

De x-coördinaat van de linkerbovenhoek van de rechthoek, gegeven als een geheel getal van 0 tot 240.

y

De y-coördinaat van de linkerbovenhoek van de rechthoek, gegeven als een geheel getal van 0 tot 240.

width

De breedte van de rechthoek, gegeven als een geheel getal van 0 tot 240.

height

De hoogte van de rechthoek, gegeven als een geheel getal van 0 tot 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)

Een screenshot van het scherm van de robot met een felrode rechthoek met een dunne witte rand, gecentreerd over de bovenste helft van het scherm.

draw_circle#

draw_circle tekent een cirkel met het middelpunt op de geselecteerde (x, y) coördinaat en een grootte bepaald door de opgegeven straal, alles gemeten in pixels. De omtrek van de cirkel wordt getekend met de huidige penbreedte en penkleur. Het interieur wordt gevuld met de huidige vulkleur, tenzij de optionele color parameter wordt gebruikt.

De x- en y-coördinaten gebruiken de standaard oorsprong (0, 0), tenzij een andere oorsprong is ingesteld met set_origin.

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

Parameter

Beschrijving

x

De x-coördinaat van het middelpunt van de cirkel, gegeven als een geheel getal van 0 tot 240.

y

De y-coördinaat van het middelpunt van de cirkel, gegeven als een geheel getal van 0 tot 240.

radius

De straal van de cirkel, gegeven als een geheel getal van 0 tot 240 pixels.

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)

Een screenshot van het scherm van de robot met een felgroene cirkel met een dunne witte rand in het midden.

show_file#

show_file geeft een aangepaste, geüploade afbeelding weer op het scherm van de robot, waarbij de positie wordt ingesteld met behulp van de parameters x, yen center op basis van het referentiepunt van de afbeelding.

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

Parameter

Beschrijving

file

De aangepaste afbeelding die moet worden gebruikt, van IMAGE1 tot IMAGE10Het afbeeldingsnummer komt overeen met het nummer dat wordt weergegeven in het AIM-configuratiescherm.

x

De horizontale verschuiving voor de afbeelding, weergegeven als een geheel getal in pixels. Positieve waarden verschuiven de afbeelding naar rechts; negatieve waarden verschuiven de afbeelding naar links.

y

De verticale verschuiving voor de afbeelding, weergegeven als een geheel getal in pixels. Positieve waarden verplaatsen de afbeelding naar beneden; negatieve waarden verplaatsen de afbeelding naar boven.

center

Optioneel. Als center=True, wordt de afbeelding geplaatst met behulp van het middelpunt op coördinaat (120, 120). Standaard (center=False), wordt de linkerbovenhoek van de afbeelding gebruikt en gepositioneerd ten opzichte van de huidige oorsprong.

# 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 definieert een rechthoekig gebied op het scherm waarbinnen alle tekeningen en tekst worden weergegeven. Inhoud buiten dit gebied wordt niet getoond.

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

Parameter

Beschrijving

x

De x-coördinaat van de linkerbovenhoek van het knipgebied, gegeven als een decimaal getal (float) van 0 tot 240.

y

De y-coördinaat van de linkerbovenhoek van het knipgebied, gegeven als een decimaal getal (float) van 0 tot 240.

width

De breedte van het knipgebied in pixels, weergegeven als een decimaal getal (float) van 0 tot 240.

height

De hoogte van het knipgebied in pixels, weergegeven als een decimaal getal (float) van 0 tot 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)

Een schermafbeelding van het robotscherm waarop de tekst en afbeelding te zien zijn die binnen het knipgebied passen. In de linkerbovenhoek staat in witte tekst 'Cut o', met daaronder een rood vierkantje.

Terugbelverzoeken#

pressed#

pressed registreert een methode die moet worden aangeroepen wanneer het scherm van de robot wordt ingedrukt.

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

Parameters

Beschrijving

callback

Een functie die eerder is gedefinieerd om te worden uitgevoerd wanneer op het controllerscherm wordt gedrukt.

arg

Optioneel. Een tuple met argumenten die aan de callbackfunctie moeten worden doorgegeven. Zie Functies gebruiken met parameters voor meer informatie.

# 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 registreert een methode die moet worden aangeroepen wanneer het scherm van de robot wordt vrijgegeven.

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

Parameters

Beschrijving

callback

Een functie die eerder is gedefinieerd om te worden uitgevoerd wanneer op het controllerscherm wordt gedrukt.

arg

Optioneel. Een tuple met argumenten die aan de callbackfunctie moeten worden doorgegeven. Zie Functies gebruiken met parameters voor meer informatie.

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

robot.screen.released(screen_released)