Képernyő#

Bevezetés#

A screen osztály a brain alaposztályból származik. Ez szabályozza, hogy a V5 Brain hogyan jelenítsen meg szöveget, számokat és grafikákat az érintőképernyőjén, és hogyan reagáljon az érintéses bevitelre.

Alapértelmezés szerint a Brainbe nyomtatott betűtípus egyszeres szélességű, kicsi, amely 12 sorból és 48 oszlopból áll.

Rajzolás esetén az agy felbontása 480 x 240 pixel.

A V5 Brain képernyője piros rácsvonalakkal, amelyek összesen 12 sor és 48 oszlop elrendezését mutatják. A pixelméretek 479 szélesek és 239 magasak. A bal felső sarok (0,0) pixelnél és az 1. sor 1. oszlopánál kezdődik, míg a jobb alsó sarok (479, 239) pixelnél és a 12. sor 48. oszlopánál végződik.

Hozzáférés#

A screen osztály a következőképpen érhető el:

Brain.Screen

Megjegyzések#

  • A screen objektumot az Agy biztosítja. Nem közvetlenül konstruálódik.

  • A projektek egyetlen globális Brain objektumot használnak, így a screen függvények Brain.Screen használatával hívhatók meg.

Példa#

/* This constructor is required when using VS Code.
A Brain is generated automatically at the start of
VEXcode projects. */

// Create the V5 Brain
brain Brain = brain();

// Print text to the Brain screen
Brain.Screen.print("Hello!");

Tagfüggvények#

A screen osztály a következő tagfüggvényeket tartalmazza:

  • print — Formázott szöveget, számokat vagy logikai értékeket nyomtat a Brain képernyőre.

  • setCursor — A szövegkurzort egy megadott sorra és oszlopba mozgatja.

  • newLine — Törli az aktuális sor fennmaradó részét, és a kurzort a következő sorba helyezi.

  • clearLine — Törli az aktuális sor fennmaradó részét, vagy egy megadott sort.

  • row — Visszaadja azt a sort, ahová a szöveg ki lesz nyomtatva.

  • column — Visszaadja azt az oszlopot, ahová a szöveg ki lesz nyomtatva.

  • getStringHeight — Visszaadja egy karakterlánc magasságát pixelben az aktuális betűtípus használatával.

  • getStringWidth — Visszaadja egy karakterlánc szélességét pixelben az aktuális betűtípus használatával.

  • printAt — Formázott szöveget nyomtat ki az x és y pixel koordinátákon.

  • clearScreen — Törli az összes rajzot és szöveget az Agy képernyőről.

  • setFont — Beállítja a képernyőn történő nyomtatáshoz használt betűtípust.

  • setPenWidth — Beállítja a rajzolt vonalak és alakzatok körvonalainak vastagságát.

  • setPenColor — Beállítja a szöveg, a képpontok, a vonalak és az alakzatok körvonalainak színét.

  • setFillColor — Beállítja a rajzolt alakzatok és a nyomtatott szöveg hátterének kitöltési színét.

  • setOrigin — Beállítja a képernyő-koordinátákhoz használt origót.

  • setClipRegion — A képernyőkimenetet egy téglalap alakú régióra korlátozza.

  • drawPixel — Egy pixelt rajzol egy koordinátán.

  • drawLine — Két pont között húz egy vonalat.

  • drawRectangle — Egy x és y koordinátákon megadott méretű téglalapot rajzol.

  • drawCircle — Egy x és y koordinátákon megadott sugárral kört rajzol.

  • drawImageFromFile — Kirajzol egy képet egy SD-kártyán lévő fájlból a képernyőre.

  • render — Engedélyezi a dupla pufferelést, vagy a háttérpuffert a képernyőre rendereli.

  • pressing — Visszaadja, hogy a képernyő jelenleg le van-e nyomva.

  • xPosition — Visszaadja a legutóbbi képernyőnyomás x koordinátáját.

  • yPosition — Visszaadja a legutóbbi szitanyomás y koordinátáját.

  • pressed — Visszahívó függvényt regisztrál, amely a képernyő megnyomásakor fut.

  • released — Visszahívó függvényt regisztrál, amely akkor fut le, amikor a képernyőt elengedik a megnyomás után.

Bármely screen tagfüggvény meghívása előtt létre kell hozni egy brain példányt, az alábbiak szerint:

// Create the V5 Brain
brain Brain = brain();

print#

Szöveget, számokat vagy logikai értékeket jelenít meg a V5 Brain képernyőn.

Available Functions

1 — Formázott szöveget nyomtat ki karakterlánc literálokkal vagy csak olvasható C stílusú karakterláncokkal.

void print(
    const char* format,
    ... );

2 — Formázott szöveget nyomtat módosítható karaktertömbök használatával.

void print(
    char* format,
    ... );

Parameters

Paraméter

Típus

Leírás

format

const char*

Egy formázó karakterlánc, amely karakterlánc literálként vagy csak olvasható C stílusú karakterláncként van megadva (például “Score: %d”).

format

char*

Módosítható karaktertömbként megadott formátumú karakterlánc.

…

Egy vagy több további érték, amelyek vesszővel elválasztva kerülnek beszúrásra a formázó karakterláncba.

Return Values

Ez a függvény nem ad vissza értéket.

Notes
  • A kimenet a képernyőn az aktuális kurzor pozíciójánál, pozíciónál kezdődik.

  • Printed text uses the current screen font.

  • A nyomtatott szöveg a jelenlegi tollszínt használja.

  • print paranccsal nyomtatott szöveg mindig háttérrel kerül nyomtatásra, a háttérszínt pedig az kitöltőszín határozza meg.

  • Formátumkarakterlánc használata esetén az átadott értékek számának és típusának meg kell egyeznie a karakterláncban található formátumspecifikátorok értékével.

Examples
// Display a message at the starting cursor
Brain.Screen.print("Hello, Robot!");

A V5 agy képernyőképe, amelyen a képernyő bal felső sarkában fehér betűvel a Hello, Robot! felirat látható.

setCursor#

A kurzort egy adott sorra és oszlopra mozgatja a V5 Brain képernyőn. A következő print hívás onnan kezdi a nyomtatást.

Available Functions
void setCursor(
  int32_t row, 
  int32_t col );

Parameters

Paraméter

Típus

Leírás

row

int32_t

A sor, ahová a kurzort át kell helyezni.

col

int32_t

Az oszlop, amelyre a kurzort át kell helyezni.

Return Values

Ez a függvény nem ad vissza értéket.

Notes
  • Befolyásolja, hogy hol kezdődik a további szövegkimenet a print használatakor.

  • A sorok és oszlopok a jelenlegileg beállított képernyőbetűtípus alapján kerülnek kiszámításra.

  • Az alapértelmezett betűtípus (mono20) 12 sort és 48 oszlopot használ.

  • A setCursor meghívása csak a későbbi szövegkimenet pozícióját befolyásolja.

Examples
// Display text starting at Row 3 Column 12
Brain.Screen.setCursor(3, 12);
Brain.Screen.print("Row 3, Column 12");

A V5 Brain képernyőképe, amelyen a 3. sor 12. oszlopa látható a képernyő felső részén, a közepe közelében, abban a pozícióban.

newLine#

A kurzort a Brain képernyő következő sorának elejére mozgatja.

Available Functions
void newLine();

Parameters

Ez a függvény nem fogad el paramétereket.

Return Values

Ez a függvény nem ad vissza értéket.

Notes
  • Ha a kurzor egy mondat közepén van, newLine törli a kurzor utáni sor többi részét, mielőtt a következő sorra lépne.

  • newLinemeghívása után a kurzor a következő sor első oszlopára pozícionálódik.

  • A kurzor pozícióját és a sorok számozását a setCursor függvénnyel állítjuk be.

Examples
// Display two lines of text
Brain.Screen.print("Line 1");
Brain.Screen.newLine();
Brain.Screen.print("Line 2");

A V5 Brain képernyőjének képernyőképe, amelyen két sor fehér szöveg látható a bal felső sarokban. A felső sorban az 1. sor, a közvetlenül alatta lévő második sorban pedig a 2. sor látható.

clearLine#

Törli a szöveget egy sorból a V5 Brain képernyőn.

Available Functions

1 — Törli az aktuális sor többi részét a kurzor pozíciójától.

void clearLine();

2 — Törli a megadott sort a jelenleg konfigurált kitöltőszín használatával.

void clearLine(
    int number );

3 — Kitörli a megadott sort egy előre definiált vagy egyéni szín objektum használatával.

void clearLine(
    int          number,
    const color& color );

4 — Hexadecimális színérték használatával törli a megadott sort.

void clearLine(
    int         number,
    const char* color );

5 — Törli a megadott sort egy színárnyalat-érték használatával.

void clearLine(
    int number,
    int hue );

Parameters

Paraméter

Típus

Leírás

number

int

A törlendő sor száma. A sorok számozása 1 -gyel kezdődik.

color

const color&

Egy color objektummal törli a sort. Az előre definiált színek a következők:

  • black
  • white
  • red
  • green
  • blue
  • yellow
  • orange
  • purple
  • cyan
  • transparent
Ehhez használhat egyéni színobjektumot.

color

const char*

Törli a sort hexadecimális színérték használatával (például “#000000”).

hue

int

Kiüríti a sort egy egész szám színárnyalat-értékkel a 0–359tartományban, amely a színkör körüli fokokat jelöli.

Return Values

Ez a függvény nem ad vissza értéket.

Notes
  • Egy sor törlése nem változtatja meg az aktuális kurzor pozícióját.

  • A kurzor pozícióját és a sorok számozását a setCursor függvénnyel állítjuk be.

  • A hue paraméterérték egy kör alakú színkörön alapul, ahogy az alább látható, ahol az értékek a kerék körüli fokokat jelölik (például piros 0° közelében, zöld 120° közelében és kék 240° közelében).

Színkör, amely a színek 0-tól 359-ig terjedő tartományát mutatja, ahol a piros a 0, a zöld a 120, a kék pedig a 240.

Examples
// Display text on two rows
Brain.Screen.print("This text stays");
Brain.Screen.newLine();
Brain.Screen.print("This disappears");

// Wait 3 seconds before clearing row 2
wait(3, seconds);
Brain.Screen.clearLine(2);

row#

Visszaadja azt a sort, ahová a szöveg ki lesz nyomtatva a V5 Brain képernyőjén.

Available Functions
int32_t row();

Parameters

Ez a függvény nem fogad el paramétereket.

Return Values

Egy int32_t értéket ad vissza, amely azt a sort jelöli, ahová a szöveg ki lesz nyomtatva.

A sorok számozása 1-től kezdődik.

Notes
  • A kurzor pozíciója az aktuális képernyőbetűtípuson alapul.

  • A visszaadott érték azt jelzi, hogy hol fog megjelenni a következő kinyomtatott kimenet.

  • A sor értéke megváltozik, amikor szöveget nyomtatunk, vagy amikor a setCursor függvényt meghívjuk.

Examples
// Display the cursor's current row
Brain.Screen.setCursor(3, 12);
Brain.Screen.print(Brain.Screen.row());

A V5 Brain képernyőjének képernyőképe, amelyen a 3-as szöveg fehér színnel látható a képernyő bal felső negyedében, a 3. sor 12. oszlopának pozíciójában.

column#

Visszaadja azt az oszlopot, ahová a szöveg ki lesz nyomtatva a V5 Brain képernyőn.

Available Functions
int32_t column();

Parameters

Ez a függvény nem fogad el paramétereket.

Return Values

Egy int32_t értéket ad vissza, amely azt az oszlopot jelöli, ahová a szöveg ki lesz nyomtatva.

Az oszlopok számozása 1-től kezdődik.

Notes
  • A kurzor pozíciója az aktuális képernyőbetűtípuson alapul.

  • A visszaadott érték azt jelzi, hogy hol fog megjelenni a következő kinyomtatott kimenet.

  • Az oszlop értéke megváltozik, amikor szöveget nyomtatunk, vagy amikor a setCursor függvényt meghívjuk.

Examples
// Display the cursor's current column
Brain.Screen.setCursor(5, 15);
Brain.Screen.print(Brain.Screen.column());

A V5 Brain képernyőjének képernyőképe, amelyen a 15-ös szöveg fehér színnel látható a képernyő bal felső negyedében, a 3. sor 15. oszlopának pozíciójában.

getStringHeight#

Visszaadja egy karakterlánc magasságát pixelben, amikor a V5 Brain képernyőn jelenik meg.

Available Functions
int32_t getStringHeight( 
    const char* cstr );

Parameters

Paraméter

Típus

Leírás

cstr

const char*

A mérendő szöveg, C stílusú karakterlánc formátumban megadva (például “Hello”).

Return Values

Egy int32_t értéket ad vissza, amely a karakterlánc magasságát jelöli pixelben, amikor a Brain képernyőn renderelésre kerül.

Notes
  • A visszaadott magasság az aktuálisan kiválasztott képernyőbetűtípustól függ.

  • Ez a függvény megméri a karakterláncot anélkül, hogy a képernyőre rajzolná.

  • A visszaadott magasság azt tükrözi, hogy a karakterlánc hogyan jelenne meg nyomtatáskor.

getStringWidth#

Visszaadja egy karakterlánc szélességét pixelben, amikor a V5 Brain képernyőn jelenik meg.

Available Functions
int32_t getStringWidth( 
    const char* cstr );

Parameters

Paraméter

Típus

Leírás

cstr

const char*

A mérendő szöveg, C stílusú karakterlánc formátumban megadva (például “Hello”).

Return Values

Egy int32_t értéket ad vissza, amely a karakterlánc szélességét jelöli pixelben, amikor a Brain képernyőn jelenik meg.

Notes
  • A visszaadott szélesség az aktuálisan kiválasztott képernyőbetűtípustól függ.

  • Ez a függvény megméri a karakterláncot anélkül, hogy a képernyőre rajzolná.

  • A visszaadott szélesség azt tükrözi, hogy a karakterlánc hogyan jelenne meg nyomtatáskor.

printAt#

Szöveget, számokat vagy logikai értékeket nyomtat ki egy adott koordinátán a V5 Brain képernyőn.

Available Functions

1 — Formázott kimenetet nyomtat a megadott képponthelyre.

void printAt(
    int32_t    x,
    int32_t    y,
    const char* format,
    ... );

2 — Formázott kimenetet nyomtat a megadott képponthelyre, és beállítja, hogy a szöveg háttere átlátszatlan vagy átlátszatlan legyen.

void printAt(
    int32_t    x,
    int32_t    y,
    bool       bOpaque,
    const char* format,
    ... );

Parameters

Paraméter

Típus

Leírás

x

int32_t

Az x pozíció, amelyre a nyomtatást végezni kell, a képernyő origójához viszonyítva.

y

int32_t

A nyomtatás y-pozíciója, a képernyő origójához viszonyítva.

bOpaque

bool

Azt szabályozza, hogy a nyomtatott szöveg átlátszatlanul vagy áttetszően legyen-e kirajzolva:

  • true — A nyomtatott szöveg háttere a jelenlegi kitöltési szín használatával van kitöltve.
  • false — A szöveg átlátszóan van kirajzolva, a háttér pedig nincs kitöltve.

format

const char*

Egy formátumkarakterlánc, amely a képernyőn megjelenő tartalmat szabályozza (például: “Score: %d”).

…

Egy vagy több további érték, amelyek vesszővel elválasztva kerülnek beszúrásra a formázó karakterláncba.

Return Values

Ez a függvény nem ad vissza értéket.

Notes
  • A x és y koordináták az aktuális képernyő origójához viszonyítottak, ami a setOrigin segítségével módosítható.

  • Printed text uses the current screen font.

  • A nyomtatott szöveg a jelenlegi tollszínt használja.

  • Formátumkarakterlánc használata esetén az átadott értékek számának és típusának meg kell egyeznie a karakterláncban található formátumspecifikátorok értékével.

Examples
// Print "Center" at the center of the screen
Brain.Screen.printAt(220, 120, "Center");

A V5 Brain képernyőjének képernyőképe, fehér „Középre” felirattal, a képernyő közepére igazítva.

clearScreen#

Törli az összes rajzot és szöveget a Brain képernyőről, és visszaállítja a kurzort az 1. sor 1. oszlopába.

Available Functions

1 — Elsötétíti a képernyőt.

void clearScreen();

2 — Kiüríti a képernyőt egy előre definiált vagy egyéni szín objektum használatával.

void clearScreen(
    const color& color );

3 — Hexadecimális színérték használatával törli a képernyőt.

void clearScreen(
    const char* color );

4 — A képernyő törlését egy színárnyalat-érték használatával végzi.

void clearScreen(
    int hue );

Parameters

Paraméter

Típus

Leírás

color

const color&

Egy color objektummal törli a képernyőt. Az előre definiált színek a következők:

  • black
  • white
  • red
  • green
  • blue
  • yellow
  • orange
  • purple
  • cyan
  • transparent
Ehhez használhat egyéni színobjektumot.

color

const char*

Kiüríti a képernyőt egy hexadecimális színérték használatával, amely karakterláncként van ábrázolva (például “#000000”).

hue

int

A képernyőt 0–359tartományba eső egész szám színárnyalat-értékkel törli, amely a színkör körüli fokokat jelöli.

Return Values

Ez a függvény nem ad vissza értéket.

Notes
  • A hue paraméterérték egy kör alakú színkörön alapul, ahogy az alább látható, ahol az értékek a kerék körüli fokokat jelölik (például piros 0° közelében, zöld 120° közelében és kék 240° közelében).

Színkör, amely a színek 0-tól 359-ig terjedő tartományát mutatja, ahol a piros a 0, a zöld a 120, a kék pedig a 240.

Examples
// Clear screen after 2 seconds
Brain.Screen.print("VEXcode");
wait(2, seconds);
Brain.Screen.clearScreen();


// Clear screen to blue after 2 seconds
Brain.Screen.print("VEXcode");
wait(2, seconds);
Brain.Screen.clearScreen(blue);

A V5 Brain képernyőjének képernyőképe, amelyen a teljes nyomtatható terület élénkkék.

setFont#

Beállítja a V5 Brain képernyőn megjelenő szöveghez használt betűtípust.

Ez szabályozza a későbbi szövegkimenetre alkalmazott betűtípust, amikor képernyőszöveg-függvényeket, például print használunk.

Available Functions
void setFont(
  fontType font );

Parameters

Paraméter

Típus

Leírás

font

fontType

A betűtípust a következők egyikére állítja be:

  • mono12
  • mono15
  • mono20
  • mono30
  • mono40
  • mono60
  • prop20
  • prop30
  • prop40
  • prop60
  • fontType::cjk16 — Kínai, japán és koreai karakterek nyomtatására képes.
    • Egyszerűsített kínai — A 28. oszlopig látható.
    • Hagyományos kínai — A 28. oszlopig látható.
    • Japán (kandzi) — A 28. oszlopig látható.
    • Koreai (hangul) — A 30. oszlopig látható.
Ezek a beállítások alább láthatók.

TA képernyőkép a V5 Brain képernyőjéről, a bal felső sarokban MONO 12 betűtípussal fehér színnel nyomtatott számokkal és betűkkel. Az AZ egy sorban látható, a képernyő szélességének körülbelül negyedén. A bal alsó sarokban 80 oszlop és 20 sor látható.
mono12

Ugyanaz a kép, mint az előző, Mono 15 betűtípussal. Egy sorban, a képernyő majdnem felén mutatja az AZ-t. A bal alsó sarokban 68 oszlop és 16 sor látható.
mono15

Ugyanaz a kép, mint az előző, Mono 20 betűtípussal. Egy sorban, a képernyő szélességének közel kétharmadán mutatja az AZ betűket. A bal alsó sarokban 48 oszlop és 12 sor látható.
mono20

Ugyanaz a kép, mint az előző, Mono 30 betűtípussal. Egy sorban, az A-tól Z-ig terjedő részt mutat, szinte a képernyő teljes szélességében. A bal alsó sarokban 32 oszlop és 8 sor látható.
mono30

Ugyanaz a kép, mint az előző, Mono 40 betűtípussal. Az AX karakterláncot egy sorban mutatja, a képernyő teljes szélességében. A bal alsó sarokban 24 oszlop és 6 sor látható.
mono40

Ugyanaz a kép, mint az előző, Mono 60 betűtípussal. Egy sorban mutatja az AP-t, a képernyő teljes szélességében. Alul 16 oszlopot és 4 sort jelöl.
mono60

Ugyanaz a kép, mint az előző, csak Prop 20 betűtípussal. Egy sorban, a képernyő szélességének közel kétharmadán mutatja az AZ betűrendet. A bal alsó sarokban 48 oszlop és 12 sor látható.
prop20

Ugyanaz a kép, mint az előző, csak Prop 30 betűtípussal. Egy sorban mutatja az A-t, majdnem a képernyő szélességét kitöltve. A bal alsó sarokban 32 oszlop és 8 sor látható.
prop30

Ugyanaz a kép, mint az előző, csak Prop 40 betűtípussal. Az AU-t egy sorban mutatja, a képernyő teljes szélességében. A bal alsó sarokban 24 oszlop és 6 sor látható.
prop40

Ugyanaz a kép, mint az előző, csak Prop 60 betűtípussal. Egy sorban mutatja az AN-t, amely a képernyő szélességét kitölti. Alul 15 oszlopot és 4 sort olvashatunk.
prop60

Ugyanaz a kép, mint az előző, CJK 16 betűtípussal. Az AZ betűtípust egy sorban mutatja, amely a képernyő körülbelül kétharmadát foglalja el. A következő sorok egyszerűsített kínai, hagyományos kínai, koreai és japán nyelvű VEX kódot tartalmaznak. Alul 43 oszlop és 12 sor látható.
fontType::cjk16

Return Values

Ez a függvény nem ad vissza értéket.

Examples
// Print larger text
Brain.Screen.setFont(mono40);
Brain.Screen.print("VEX");

A V5 Brain képernyőjének képernyőképe, amelyen a bal felső sarokban fehér betűtípussal, az alapértelmezettnél nagyobb betűtípussal olvasható a VEX.


// Print in Chinese
Brain.Screen.setFont(fontType::cjk16);
Brain.Screen.print("VEX机器人");

A V5 Brain képernyőjének képernyőképe, amelyen a bal felső sarokban a kínai betűtípussal írt "VEX机器人" szöveg látható.

setPenWidth#

Beállítja a rajzolt vonalak és alakzatok körvonalainak vastagságát.

Available Functions
void setPenWidth(
  uint32_t width );

Parameters

Paraméter

Típus

Leírás

width

uint32_t

A toll szélessége pixelben, 0 és 32 között.

Return Values

Ez a függvény nem ad vissza értéket.

Notes Examples
// Draw a rectangle with a pen width of 10
Brain.Screen.setPenWidth(10);
Brain.Screen.drawRectangle(50, 50, 130, 60);

A V5 Brain képernyőjének képernyőképe, amelyen egy vastag szegélyű téglalap látható a képernyő bal felső negyedében.

setPenColor#

Beállítja a szöveg, a képpontok, a vonalak és az alakzatok körvonalainak színét.

Available Functions

1 — Beállítja a toll színét egy előre definiált vagy egyéni szín objektum használatával.

void setPenColor(
    const color& color );

2 — Hexadecimális színértékkel állítja be a toll színét.

void setPenColor(
    const char* color );

3 — Beállítja a toll színét egy színárnyalat-érték használatával.

void setPenColor(
    int hue );

Parameters

Paraméter

Típus

Leírás

color

const color&

Sets the pen color using a color object. Predefined colors include:

  • black
  • white
  • red
  • green
  • blue
  • yellow
  • orange
  • purple
  • cyan
  • transparent

color

const char*

Beállítja a toll színét egy hexadecimális színértékkel, amely karakterláncként van megadva (például “#FF0000”).

hue

int

A toll színét egy egész szám árnyalatértékkel állítja be a 0–359tartományban, amely a színkör körüli fokokat jelöli (például 0 piros, 120 zöld és 240 kék).

Return Values

Ez a függvény nem ad vissza értéket.

Notes
  • A projekt kezdetén az alapértelmezett tollszín a white.

  • A toll színét alakzatok körvonalaihoz (például a drawCircle vagy a drawRectangle metódussal), szöveges és numerikus kimenethez (a print és printAt metódusokkal), valamint a drawPixel metódussal rajzolt egyes pixelekhez használjuk.

  • A hue paraméterérték egy kör alakú színkörön alapul, ahogy az alább látható, ahol az értékek a kerék körüli fokokat jelölik (például piros 0° közelében, zöld 120° közelében és kék 240° közelében).

Színkör, amely a színek 0-tól 359-ig terjedő tartományát mutatja, ahol a piros a 0, a zöld a 120, a kék pedig a 240.

Examples
// Draw a rectangle with orange borders
Brain.Screen.setPenColor(orange);
Brain.Screen.drawRectangle(50, 50, 130, 60);

A V5 Brain képernyőjének képernyőképe, amelyen egy narancssárgával rajzolt téglalap látható a képernyő bal felső negyedében.

setFillColor#

Beállítja az alakzatok rajzolásakor használt kitöltési színt.

Available Functions

1 — Beállítja a kitöltőszínt egy előre definiált vagy egyéni szín objektum használatával.

void setFillColor(
    const color& color );

2 — Hexadecimális színértékkel állítja be a kitöltőszínt.

void setFillColor(
    const char* color );

3 — Beállítja a kitöltőszínt egy színárnyalat-érték használatával.

void setFillColor(
    int hue );

Parameters

Paraméter

Típus

Leírás

color

const color&

Beállítja a kitöltőszínt egy color objektum használatával. Az előre definiált színek a következők:

  • black
  • white
  • red
  • green
  • blue
  • yellow
  • orange
  • purple
  • cyan
  • transparent

color

const char*

Beállítja a kitöltőszínt egy hexadecimális színértékkel, amely karakterláncként van megadva (például “#00FF00”).

hue

int

A kitöltőszínt egy egész szám árnyalatértékkel állítja be a 0–359tartományban, amely a színkör körüli fokokat jelöli (például 0 piros, 120 zöld és 240 kék).

Return Values

Ez a függvény nem ad vissza értéket.

Notes
  • A projekt elején az alapértelmezett kitöltőszín a black.

  • A kitöltőszínt az alakzatok belsejében használjuk (például a drawCircle vagy a drawRectangle esetén).

  • A kitöltőszín a nyomtatott szöveg háttérszíneként használatos (például a print és a printAt esetén).

    • Ha transparent nyomtatott szöveggel használjuk, akkor a háttér black lesz.

  • A hue paraméterérték egy kör alakú színkörön alapul, ahogy az alább látható, ahol az értékek a kerék körüli fokokat jelölik (például piros 0° közelében, zöld 120° közelében és kék 240° közelében).

Színkör, amely a színek 0-tól 359-ig terjedő tartományát mutatja, ahol a piros a 0, a zöld a 120, a kék pedig a 240.

Examples
// Draw a rectangle filled with purple
  Brain.Screen.setFillColor(purple);
  Brain.Screen.drawRectangle(50, 100, 130, 60);

A V5 Brain képernyőjének képernyőképe, amelyen egy lilával kitöltött téglalap látható a képernyő bal alsó negyedében.

setOrigin#

Beállítja a rajzoláshoz és a koordináta-alapú nyomtatáshoz használt origót a Brain képernyőn.

Available Functions
void setOrigin(
  int32_t x,
  int32_t y );

Parameters

Paraméter

Típus

Leírás

x

int32_t

Az origó x pozíciója a Brain képernyő bal felső sarkához képest 0-tól 479-ig.

y

int32_t

Az origó y-pozíciója a Brain képernyő bal felső sarkához képest 0-tól 239-ig.

Return Values

Ez a függvény nem ad vissza értéket.

Notes
  • Az alapértelmezett origó a képernyő bal felső sarka a (0, 0) koordinátán.

  • Az origó olyan koordinátafüggvényekre vonatkozik, mint a drawLine, drawRectangle, drawCircle és printAt.

  • Az origó mindaddig érvényben marad, amíg újra meg nem változtatják, vagy a projektet vissza nem állítják.

setClipRegion#

Egy téglalap alakú területet határoz meg a képernyőn, ahová az összes rajz és szöveg be lesz zárva. Az ezen a területen kívül eső tartalom nem jelenik meg.

Available Functions
void setClipRegion(
  int x,
  int y,
  int width,
  int height );

Parameters

Paraméter

Típus

Leírás

x

int

A klipterület bal felső sarkának x koordinátája, 0 és 479 közötti egész számként megadva.

y

int

A vágási régió bal felső sarkának y koordinátája, 0 és 239 közötti egész számként megadva.

width

int

A klipterület szélessége pixelben, 0 és 479 közötti egész számként megadva.

height

int

A klipterület magassága pixelben, 0 és 239 közötti egész számként megadva.

Return Values

Ez a függvény nem ad vissza értéket.

Notes
  • A rajzolási függvények akkor is végrehajtásra kerülnek, ha a vágóterületen kívül esnek, de csak a területen belüli rész látható.

  • A x és y koordináták az aktuális képernyő origójához viszonyítottak, ami a setOrigin segítségével módosítható.

  • A vágási régió csak az aktuális szálra vonatkozik.

  • Egy új vágási régió beállítása felülírja az aktuális szálhoz korábban beállított vágási régiót.

Examples
// Restrict text and drawings to a specific region
Brain.Screen.setClipRegion(0, 0, 120, 120);
Brain.Screen.drawRectangle(60, 60, 100, 100, red);
Brain.Screen.printAt(60, 60, "Cut off!");

A V5 Brain képernyőjének képernyőképe, fehér „Kivágás” felirattal, alatta a bal felső negyedben egy tömör piros négyzettel, amely a klipterületen belüli kinyomtatott tartalmat tükrözi.

drawPixel#

Egy képpontot rajzol a V5 Brain képernyőjén a kiválasztott x és y pixelhelyen.

Available Functions
void drawPixel(
  int x,
  int y );

Parameters

Paraméter

Típus

Leírás

x

int

Az x koordináta, ahová a képpontot kirajzoljuk, 0 és 479 közötti egész számként megadva.

y

int

Az y koordináta, ahová a képpontot kirajzoljuk, 0 és 239 közötti egész számként megadva.

Return Values

Ez a függvény nem ad vissza értéket.

Notes
  • A pixelek kirajzolása a setPenColor paraméterrel beállított aktuális tollszínnel történik.

  • A x és y koordináták az aktuális képernyő origójához viszonyítottak, amely a setOrigin segítségével állítható be.

  • Ha a megadott pixel helye a képernyő határain kívül esik, a pixel nem kerül kirajzolásra.

Examples
// Draw the pixels marking the corners of a square
Brain.Screen.drawPixel(250, 100);
Brain.Screen.drawPixel(275, 100);
Brain.Screen.drawPixel(250, 125);
Brain.Screen.drawPixel(275, 125);

A V5 Brain képernyőjének képernyőképe, amelyen a képernyő közepéhez közeli négyzet sarkait ábrázoló képpontok gyűjteménye látható.

drawLine#

Egyenes vonalat húz két pont között a V5 Brain képernyőn.

Available Functions
void drawLine(
  int x1,
  int y1,
  int x2,
  int y2 );

Parameters

Paraméter

Típus

Leírás

x1

int

A vonal kezdő x koordinátája, 0 és 479 közötti egész számként megadva.

y1

int

A vonal kezdő y koordinátája, 0 és 239 közötti egész számként megadva.

x2

int

A vonal végpontjának x koordinátája, 0 és 479 közötti egész számként megadva.

y2

int

A vonal végső y koordinátája, 0 és 239 közötti egész számként megadva.

Return Values

Ez a függvény nem ad vissza értéket.

Notes
  • A vonalak a setPenColor paraméterrel beállított aktuális tollszínnel lesznek megrajzolva.

  • A vonal vastagságát a setPenWidth paraméterrel beállított aktuális tollszélesség határozza meg.

  • A x és y koordináták az aktuális képernyő origójához viszonyítottak, amely a setOrigin segítségével állítható be.

  • Ha a vonal bármely része a képernyő határain kívül esik, akkor csak a látható rész kerül kirajzolásra.

Examples
// Draw a line from the top left to bottom right of the screen
Brain.Screen.drawLine(0, 0, 479, 239);

A V5 Brain képernyőjének képernyőképén egy vékony átlós vonal látható a középpontban, a bal felső saroktól a jobb alsó sarokig.

drawRectangle#

Egy téglalapot rajzol a V5 Brain képernyőjére a megadott helyen és méretben.

Available Functions

1 — Kirajzol és kitölt egy téglalapot a jelenleg konfigurált kitöltőszín színnel.

void drawRectangle(
    int x,
    int y,
    int width,
    int height );

2 — Előre definiált vagy egyéni szín objektummal rajzol és tölt ki egy téglalapot.

void drawRectangle(
    int           x,
    int           y,
    int           width,
    int           height,
    const color&  color );

3 — Hexadecimális színértékkel rajzol és tölt ki egy téglalapot.

void drawRectangle(
    int           x,
    int           y,
    int           width,
    int           height,
    const char*   color );

4 — Téglalapot rajzol és tölt ki egy színárnyalat értékével.

void drawRectangle(
    int x,
    int y,
    int width,
    int height,
    int hue );

Parameters

Paraméter

Típus

Leírás

x

int

A téglalap bal felső sarkának x koordinátája, 0 és 479 közötti egész számként megadva.

y

int

A téglalap bal felső sarkának y koordinátája, 0 és 239 közötti egész számként megadva.

width

int

A téglalap szélessége, 0 és 479 közötti egész számként megadva.

height

int

A téglalap magassága, 0 és 239 közötti egész számként megadva.

color

const color&

color objektummal tölti ki a téglalapot. Az előre definiált színek a következők:

  • black
  • white
  • red
  • green
  • blue
  • yellow
  • orange
  • purple
  • cyan
  • transparent
Ehhez egyéni színobjektum is használható.

color

const char*

Hexadecimális színértékkel tölti ki a téglalapot (például “#FF0000”).

hue

int

A téglalapot 0–359 tartományba eső színárnyalattal tölti ki.

Return Values

Ez a függvény nem ad vissza értéket.

Notes
  • A téglalap körvonalát a setPenColor paraméterrel beállított aktuális tollszínnel rajzolja meg a program.

  • A körvonal vastagságát a setPenWidth paraméterrel beállított aktuális tollszélesség határozza meg.

  • Ha nincs megadva color paraméter, a téglalap belseje a setFillColor függvénnyel beállított aktuális kitöltőszínnel lesz kitöltve.

  • A x és y koordináták az aktuális képernyő origójához viszonyítottak, ami a setOrigin segítségével módosítható.

  • Ha a téglalap bármely része a képernyő határain kívül esik, akkor csak a látható rész kerül kirajzolásra.

  • A hue paraméterérték egy kör alakú színkörön alapul, ahogy az alább látható, ahol az értékek a kerék körüli fokokat jelölik (például piros 0° közelében, zöld 120° közelében és kék 240° közelében).

Színkör, amely a színek 0-tól 359-ig terjedő tartományát mutatja, ahol a piros a 0, a zöld a 120, a kék pedig a 240.

Examples
// Draw a rectangle on the screen
Brain.Screen.drawRectangle(50, 50, 130, 60);

A V5 Brain képernyőjének képernyőképén egy téglalap látható, amelynek bal felső negyedében vékony fehér szegély látható.

drawCircle#

Kör rajzolása a V5 Brain képernyőn a megadott pozícióban és sugárban.

Available Functions

1 — Kör rajzolása és kitöltése a jelenleg konfigurált kitöltőszín színnel.

void drawCircle(
    int x,
    int y,
    int radius );

2 — Kör rajzolása és kitöltése egy előre definiált vagy egyéni szín objektummal.

void drawCircle(
    int           x,
    int           y,
    int           radius,
    const color&  color );

3 — Hexadecimális színértékkel rajzol és tölt ki egy kört.

void drawCircle(
    int           x,
    int           y,
    int           radius,
    const char*   color );

4 — Kör rajzolása és kitöltése egy színárnyalat értékével.

void drawCircle(
    int x,
    int y,
    int radius,
    int hue );

Parameters

Paraméter

Típus

Leírás

x

int

A kör középpontjának x koordinátája, 0 és 479 közötti egész számként megadva.

y

int

A kör középpontjának y koordinátája, 0 és 239 közötti egész számként megadva.

radius

int

A kör sugara, 0 és 239 pixel közötti egész számként megadva.

color

const color&

Egy color objektummal tölti ki a kört. Az előre definiált színek a következők:

  • black
  • white
  • red
  • green
  • blue
  • yellow
  • orange
  • purple
  • cyan
  • transparent
Ehhez használhat egyéni színobjektumot.

color

const char*

Hexadecimális színértékkel tölti ki a kört (például “#FF0000”).

hue

int

A kört a 0–359 tartományba eső színárnyalatértékkel tölti ki.

Return Values

Ez a függvény nem ad vissza értéket.

Notes
  • A kör körvonalát a setPenColor paraméterrel beállított aktuális tollszínnel rajzolja meg a program.

  • A körvonal vastagságát a setPenWidth paraméterrel beállított aktuális tollszélesség határozza meg.

  • Ha nincs megadva color paraméter, a kör belseje a setFillColor függvénnyel beállított aktuális kitöltőszínnel lesz kitöltve.

  • A x és y koordináták az aktuális képernyő origójához viszonyítottak, ami a setOrigin segítségével módosítható.

  • A hue paraméterérték egy kör alakú színkörön alapul, ahogy az alább látható, ahol az értékek a kerék körüli fokokat jelölik (például piros 0° közelében, zöld 120° közelében és kék 240° közelében).

Színkör, amely a színek 0-tól 359-ig terjedő tartományát mutatja, ahol a piros a 0, a zöld a 120, a kék pedig a 240.

Examples
// Draw a circle on the screen
Brain.Screen.drawCircle(240, 120, 40);

A V5 Brain képernyőjének képernyőképén egy kör látható, középen vékony fehér szegéllyel.

drawImageFromFile#

Képet rajzol a V5 Brain képernyőjére az SD-kártyán tárolt képfájl felhasználásával.

Available Functions
bool drawImageFromFile(
  const char* name,
  int x,
  int y );

Parameters

Paraméter

Típus

Leírás

name

const char*

A kép fájlneve az SD-kártyán. A fájl kiterjesztésének .bmp vagy .png kell lennie.

x

int

Az x koordináta pixelekben 0 és 479 között, amelynél a kép bal széle meg lesz rajzolva.

y

int

Az y koordináta pixelekben 0 és 239 között, amelynél a kép felső széle meg lesz rajzolva.

Return Values

Logikai értéket ad vissza, amely jelzi, hogy a kép sikeresen meg lett-e rajzolva:

  • true — A kép sikeresen betöltődött és megjelent a képernyőn.
  • false — A kép nem rajzolható meg (például, ha a fájl nem létezik vagy érvénytelen).

Notes
  • A támogatott képformátumok .bmp és .png.

  • A képfájl mérete nem haladhatja meg 512 KB.

    • A fájlméret minimalizálása érdekében 8 bites RLE kódolás ajánlott.

  • A maximálisan támogatott képméretek a Brain képernyő méretével megegyezőek (körülbelül 479 x 239 pixel).

  • A x és y koordináták az aktuális képernyő origójához viszonyítottak, ami a setOrigin segítségével módosítható.

Examples
// Draw a bmp file on the Brain's screen at coordinate 0, 0
Brain.Screen.drawImageFromFile("test_image.bmp", 0, 0);

render#

Lehetővé teszi a dupla pufferelést az Agy képernyőjén. Meghívás után a rajzolási függvények (például szöveg, alakzatok vagy képek) nem jelennek meg azonnal a projekt többi részében. Ehelyett a frissítések csak akkor jelennek meg, ha render újra használják. Ez simább és kontrolláltabb képernyőfrissítéseket tesz lehetővé, de azt jelenti, hogy semmi sem lesz látható, amíg render at nem használják.

Available Functions

1 — Engedélyezi a dupla pufferelést, vagy a háttérpuffert jeleníti meg a képernyőn.

bool render();

2 — A háttérpuffert a képernyőn jeleníti meg, a függőleges szinkron viselkedésének és az opcionális ütemező végrehajtásának vezérlésével.

bool render(
    bool bVsyncWait,
    bool bRunScheduler = true );

Parameters

Paraméter

Típus

Leírás

bVsyncWait

bool

​

  • true — A képernyő függőleges frissítésének megvárása a renderelés előtt a vizuális szakadozás csökkentése érdekében.
  • false — Ne várja meg a képernyő függőleges frissítését a renderelés előtt.

bRunScheduler

bool

Opcionális.

  • true (alapértelmezett) — Engedélyezi a háttérfeladatok futását a renderelésre várás közben.
  • false — Ne engedélyezze a háttérfeladatok futását a renderelésre várás közben.

Return Values

Logikai értéket ad vissza, amely jelzi, hogy a pufferben mentett rajzok sikeresen megjelenítődtek-e a képernyőn:

  • true — A rajzok sikeresen megjelenítődtek a képernyőn.
  • false — A rajzok nem jeleníthetők meg a képernyőn.
  • Notes
    • A render meghívásához render használatára lesz szükség a projekt többi részéhez.

    Examples
    Brain.Screen.render();
    
    // Draw text to the back buffer
    Brain.Screen.print("Render later...");
    
    // Wait for a screen press to render drawings
    while (!Brain.Screen.pressing()) {
      wait(20, msec);
    }
    Brain.Screen.render();
    
    

pressing#

Jelzi, hogy a V5 Brain képernyő jelenleg meg van-e nyomva.

Available Functions
bool pressing();

Parameters

Ez a függvény nem fogad el paramétereket.

Return Values

Egy logikai értéket ad vissza, amely a képernyő aktuális lenyomott állapotát jelzi:true — A képernyő jelenleg lenyomva van. vagy false — A képernyő nincs lenyomva.

Examples
// Change the screen's color after it's pressed
while (Brain.Screen.pressing() == false) {
  wait(5, msec);
}

Brain.Screen.setFillColor(green);
Brain.Screen.drawRectangle(0, 0, 479, 239);


// Display different messages after the screen is pressed
while (!Brain.Screen.pressing()) {
  wait(5, msec);
}
Brain.Screen.print("First message!");
Brain.Screen.newLine();

// Lift finger to press the screen again
while (Brain.Screen.pressing()) {
  wait(5, msec);
}
while (Brain.Screen.pressing() == false) {
  wait(5, msec);
}
Brain.Screen.print("Second message!");
Brain.Screen.newLine();

xPosition#

Visszaadja a V5 Brain képernyőn az utolsó lenyomás x koordinátáját.

Available Functions
int32_t xPosition();

Parameters

Ez a függvény nem fogad el paramétereket.

Return Values

Egy int32_t értéket ad vissza, amely az utolsó képernyőleütés x koordinátáját jelöli 0 és 479 közötti pixelekben.

Examples
// Display a circle where the screen is pressed
while (Brain.Screen.pressing() == false) {
  wait(5, msec);
}

Brain.Screen.drawCircle(Brain.Screen.xPosition(), Brain.Screen.yPosition(), 20, white);

yPosition#

Visszaadja a V5 Brain képernyőn az utolsó lenyomás y koordinátáját.

Available Functions
int32_t yPosition();

Parameters

Ez a függvény nem fogad el paramétereket.

Return Values

Egy int32_t értéket ad vissza, amely az utolsó képernyőleütés y koordinátáját jelöli 0 és 239 közötti pixelekben.

Examples
// Display a circle where the screen is pressed
while (Brain.Screen.pressing() == false) {
  wait(5, msec);
}

Brain.Screen.drawCircle(Brain.Screen.xPosition(), Brain.Screen.yPosition(), 20, white);

pressed#

Regisztrál egy függvényt, amely a V5 Brain képernyő megnyomásakor hívódik meg.

Available Functions

1 — Meghív egy függvényt, amikor megnyomjuk a képernyőt.

void pressed(
    void (*callback)(void)
);

2 — Meghív egy függvényt, amikor a képernyőre kattintunk, és egy felhasználó által definiált argumentumot átad a visszahívó függvénynek.

void pressed(
    void (*callback)(void*),
    void* arg );

Parameters

Paraméter

Típus

Leírás

callback

void (*)(void)

Egy függvény, amely a képernyő megnyomásakor hívódik meg.

callback

void ()(void)

Egy függvény, amely a képernyő megnyomásakor hívódik meg, és felhasználó által definiált argumentumot kap.

arg

void*

Egy felhasználó által definiált érték, amely a képernyő megnyomásakor átadódik a visszahívó függvénynek.

Return Values

Ez a függvény nem ad vissza értéket.

Notes
  • A visszahívási függvény minden alkalommal végrehajtódik, amikor a Brain képernyőt megnyomjuk.

  • Egyszerre csak egy visszahívó függvény regisztrálható; pressed megnyomása felülírja az előző visszahívót.

  • A visszahívó függvénynek void értéket kell visszaadnia.

Examples

Definiáljuk a visszahívó függvényt ( int main())

// Tracks how many times the screen is pressed.
void onScreenPressed(void* arg) {
  int* count = (int*)arg;
  (*count)++;

  Brain.Screen.clearScreen();
  Brain.Screen.setCursor(1, 1);
  Brain.Screen.print("Pressed %d times", *count);
}

Regisztrálja a visszahívást a int main() függvényen belül.

int main() {
  int pressCount = 0;

  // Register the callback and pass a value to update.
  Brain.Screen.pressed(onScreenPressed, &pressCount);

  while (true) {
    wait(20, msec);
  }
}

released#

Regisztrál egy függvényt, amely akkor hívódik meg, amikor a V5 Brain képernyőjét a megnyomás után elengedik.

Available Functions

1 — Meghív egy függvényt, amikor a képernyőt elengedik a megnyomás után.

void released(
    void (*callback)(void)
);

2 — Meghív egy függvényt, amikor a képernyőt elengedik a megnyomás után, és egy felhasználó által definiált argumentumot átad a visszahívó függvénynek.

void released(
    void (*callback)(void*),
    void* arg );

Parameters

Paraméter

Típus

Leírás

callback

void (*)(void)

Egy függvény, amely akkor hívódik meg, amikor a képernyőt elengedjük a megnyomás után.

callback

void ()(void)

Egy függvény, amely akkor hívódik meg, amikor a képernyőt elengedik a megnyomás után, és felhasználó által definiált argumentumot kap.

arg

void*

Egy felhasználó által definiált érték, amely a visszahívó függvénynek kerül átadásra, amikor a képernyőt elengedik a megnyomás után.

Return Values

Ez a függvény nem ad vissza értéket.

Notes
  • A visszahívási függvény minden alkalommal végrehajtódik, amikor a Brain képernyőt elengedjük a megnyomás után.

  • Egyszerre csak egy visszahívó függvény regisztrálható; released újbóli meghívása felülírja az előző visszahívót.

  • A visszahívó függvénynek void értéket kell visszaadnia.

Examples

Definiáljuk a visszahívó függvényt ( int main())

// Tracks how many times the screen is released.
void onScreenReleased(void* arg) {
  int* count = (int*)arg;
  (*count)++;

  Brain.Screen.clearScreen();
  Brain.Screen.setCursor(1, 1);
  Brain.Screen.print("Released %d times", *count);
}

Regisztrálja a visszahívást a int main() függvényen belül.

int main() {
  int releaseCount = 0;

  // Register the callback and pass a value to update.
  Brain.Screen.released(onScreenReleased, &releaseCount);

  while (true) {
    wait(20, msec);
  }
}