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.

Hozzáférés#
A screen osztály a következőképpen érhető el:
Brain.Screen
Megjegyzések#
A
screenobjektumot az Agy biztosítja. Nem közvetlenül konstruálódik.A projektek egyetlen globális
Brainobjektumot használnak, így a screen függvényekBrain.Screenhaszná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 Functions1 — Formázott szöveget nyomtat ki karakterlánc literálokkal vagy csak olvasható C stílusú karakterláncokkal.
void print( const char* format, ... );
Parameters2 — Formázott szöveget nyomtat módosítható karaktertömbök használatával.
void print( char* format, ... );
Paraméter |
Típus |
Leírás |
|---|---|---|
|
|
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 |
|
|
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. |
Ez a függvény nem ad vissza értéket.
NotesA 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.
printparanccsal 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.
// Display a message at the starting cursor
Brain.Screen.print("Hello, Robot!");

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.
void setCursor(
int32_t row,
int32_t col );
Paraméter |
Típus |
Leírás |
|---|---|---|
|
|
A sor, ahová a kurzort át kell helyezni. |
|
|
Az oszlop, amelyre a kurzort át kell helyezni. |
Ez a függvény nem ad vissza értéket.
NotesBefolyásolja, hogy hol kezdődik a további szövegkimenet a
printhaszná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
setCursormeghívása csak a későbbi szövegkimenet pozícióját befolyásolja.
// Display text starting at Row 3 Column 12
Brain.Screen.setCursor(3, 12);
Brain.Screen.print("Row 3, Column 12");

newLine#
A kurzort a Brain képernyő következő sorának elejére mozgatja.
Available Functionsvoid newLine();
Ez a függvény nem fogad el paramétereket.
Return ValuesEz a függvény nem ad vissza értéket.
NotesHa a kurzor egy mondat közepén van,
newLinetö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
setCursorfüggvénnyel állítjuk be.
// Display two lines of text
Brain.Screen.print("Line 1");
Brain.Screen.newLine();
Brain.Screen.print("Line 2");

clearLine#
Törli a szöveget egy sorból a V5 Brain képernyőn.
Available Functions1 — 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 );
Parameters5 — Törli a megadott sort egy színárnyalat-érték használatával.
void clearLine( int number, int hue );
Paraméter |
Típus |
Leírás |
|---|---|---|
|
|
A törlendő sor száma. A sorok számozása |
|
|
Egy
|
|
|
Törli a sort hexadecimális színérték használatával (például |
|
|
Kiüríti a sort egy egész szám színárnyalat-értékkel a |
Ez a függvény nem ad vissza értéket.
NotesEgy 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
setCursorfüggvénnyel állítjuk be.A
hueparamé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).

// 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 Functionsint32_t row();
Ez a függvény nem fogad el paramétereket.
Return ValuesEgy 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.
NotesA 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
setCursorfüggvényt meghívjuk.
// Display the cursor's current row
Brain.Screen.setCursor(3, 12);
Brain.Screen.print(Brain.Screen.row());

column#
Visszaadja azt az oszlopot, ahová a szöveg ki lesz nyomtatva a V5 Brain képernyőn.
Available Functionsint32_t column();
Ez a függvény nem fogad el paramétereket.
Return ValuesEgy 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.
NotesA 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
setCursorfüggvényt meghívjuk.
// Display the cursor's current column
Brain.Screen.setCursor(5, 15);
Brain.Screen.print(Brain.Screen.column());

getStringHeight#
Visszaadja egy karakterlánc magasságát pixelben, amikor a V5 Brain képernyőn jelenik meg.
Available Functionsint32_t getStringHeight(
const char* cstr );
Paraméter |
Típus |
Leírás |
|---|---|---|
|
|
A mérendő szöveg, C stílusú karakterlánc formátumban megadva (például |
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.
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 Functionsint32_t getStringWidth(
const char* cstr );
Paraméter |
Típus |
Leírás |
|---|---|---|
|
|
A mérendő szöveg, C stílusú karakterlánc formátumban megadva (például |
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.
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 Functions1 — Formázott kimenetet nyomtat a megadott képponthelyre.
void printAt( int32_t x, int32_t y, const char* format, ... );
Parameters2 — 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, ... );
Paraméter |
Típus |
Leírás |
|---|---|---|
|
|
Az x pozíció, amelyre a nyomtatást végezni kell, a képernyő origójához viszonyítva. |
|
|
A nyomtatás y-pozíciója, a képernyő origójához viszonyítva. |
|
|
Azt szabályozza, hogy a nyomtatott szöveg átlátszatlanul vagy áttetszően legyen-e kirajzolva:
|
|
|
Egy formátumkarakterlánc, amely a képernyőn megjelenő tartalmat szabályozza (például: |
|
Egy vagy több további érték, amelyek vesszővel elválasztva kerülnek beszúrásra a formázó karakterláncba. |
Ez a függvény nem ad vissza értéket.
NotesA
xésykoordináták az aktuális képernyő origójához viszonyítottak, ami asetOriginsegí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.
// Print "Center" at the center of the screen
Brain.Screen.printAt(220, 120, "Center");

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 Functions1 — 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 );
Parameters4 — A képernyő törlését egy színárnyalat-érték használatával végzi.
void clearScreen( int hue );
Paraméter |
Típus |
Leírás |
|---|---|---|
|
|
Egy
|
|
|
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 |
|
|
A képernyőt |
Ez a függvény nem ad vissza értéket.
NotesA
hueparamé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).

// 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);

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.
void setFont(
fontType font );
Paraméter |
Típus |
Leírás |
|---|---|---|
|
|
A betűtípust a következők egyikére állítja be:
|
|
|
|
|---|---|---|
|
|
|
|
|
|
|
|
Ez a függvény nem ad vissza értéket.
Examples// Print larger text
Brain.Screen.setFont(mono40);
Brain.Screen.print("VEX");

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

setPenWidth#
Beállítja a rajzolt vonalak és alakzatok körvonalainak vastagságát.
Available Functionsvoid setPenWidth(
uint32_t width );
Paraméter |
Típus |
Leírás |
|---|---|---|
|
|
A toll szélessége pixelben, 0 és 32 között. |
Ez a függvény nem ad vissza értéket.
NotesA tollszélesség olyan rajzolófüggvényekre vonatkozik, mint a
drawLine,drawRectangleésdrawCircle.
// Draw a rectangle with a pen width of 10
Brain.Screen.setPenWidth(10);
Brain.Screen.drawRectangle(50, 50, 130, 60);

setPenColor#
Beállítja a szöveg, a képpontok, a vonalak és az alakzatok körvonalainak színét.
Available Functions1 — 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 );
Parameters3 — Beállítja a toll színét egy színárnyalat-érték használatával.
void setPenColor( int hue );
Paraméter |
Típus |
Leírás |
|---|---|---|
|
|
Sets the pen color using a
|
|
|
Beállítja a toll színét egy hexadecimális színértékkel, amely karakterláncként van megadva (például |
|
|
A toll színét egy egész szám árnyalatértékkel állítja be a |
Ez a függvény nem ad vissza értéket.
NotesA projekt kezdetén az alapértelmezett tollszín a
white.A toll színét alakzatok körvonalaihoz (például a
drawCirclevagy adrawRectanglemetódussal), szöveges és numerikus kimenethez (aprintésprintAtmetódusokkal), valamint adrawPixelmetódussal rajzolt egyes pixelekhez használjuk.A
hueparamé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).

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

setFillColor#
Beállítja az alakzatok rajzolásakor használt kitöltési színt.
Available Functions1 — 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 );
Parameters3 — Beállítja a kitöltőszínt egy színárnyalat-érték használatával.
void setFillColor( int hue );
Paraméter |
Típus |
Leírás |
|---|---|---|
|
|
Beállítja a kitöltőszínt egy
|
|
|
Beállítja a kitöltőszínt egy hexadecimális színértékkel, amely karakterláncként van megadva (például |
|
|
A kitöltőszínt egy egész szám árnyalatértékkel állítja be a |
Ez a függvény nem ad vissza értéket.
NotesA 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
drawCirclevagy adrawRectangleesetén).A kitöltőszín a nyomtatott szöveg háttérszíneként használatos (például a
printés aprintAtesetén).Ha
transparentnyomtatott szöveggel használjuk, akkor a háttérblacklesz.
A
hueparamé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).

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

setOrigin#
Beállítja a rajzoláshoz és a koordináta-alapú nyomtatáshoz használt origót a Brain képernyőn.
Available Functionsvoid setOrigin(
int32_t x,
int32_t y );
Paraméter |
Típus |
Leírás |
|---|---|---|
|
|
Az origó x pozíciója a Brain képernyő bal felső sarkához képest 0-tól 479-ig. |
|
|
Az origó y-pozíciója a Brain képernyő bal felső sarkához képest 0-tól 239-ig. |
Ez a függvény nem ad vissza értéket.
NotesAz 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ésprintAt.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 Functionsvoid setClipRegion(
int x,
int y,
int width,
int height );
Paraméter |
Típus |
Leírás |
|---|---|---|
|
|
A klipterület bal felső sarkának x koordinátája, 0 és 479 közötti egész számként megadva. |
|
|
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. |
|
|
A klipterület szélessége pixelben, 0 és 479 közötti egész számként megadva. |
|
|
A klipterület magassága pixelben, 0 és 239 közötti egész számként megadva. |
Ez a függvény nem ad vissza értéket.
NotesA 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ésykoordináták az aktuális képernyő origójához viszonyítottak, ami asetOriginsegí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.
// 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!");

drawPixel#
Egy képpontot rajzol a V5 Brain képernyőjén a kiválasztott x és y pixelhelyen.
Available Functionsvoid drawPixel(
int x,
int y );
Paraméter |
Típus |
Leírás |
|---|---|---|
|
|
Az x koordináta, ahová a képpontot kirajzoljuk, 0 és 479 közötti egész számként megadva. |
|
|
Az y koordináta, ahová a képpontot kirajzoljuk, 0 és 239 közötti egész számként megadva. |
Ez a függvény nem ad vissza értéket.
NotesA pixelek kirajzolása a
setPenColorparaméterrel beállított aktuális tollszínnel történik.A
xésykoordináták az aktuális képernyő origójához viszonyítottak, amely asetOriginsegí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.
// 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);
![]()
drawLine#
Egyenes vonalat húz két pont között a V5 Brain képernyőn.
Available Functionsvoid drawLine(
int x1,
int y1,
int x2,
int y2 );
Paraméter |
Típus |
Leírás |
|---|---|---|
|
|
A vonal kezdő x koordinátája, 0 és 479 közötti egész számként megadva. |
|
|
A vonal kezdő y koordinátája, 0 és 239 közötti egész számként megadva. |
|
|
A vonal végpontjának x koordinátája, 0 és 479 közötti egész számként megadva. |
|
|
A vonal végső y koordinátája, 0 és 239 közötti egész számként megadva. |
Ez a függvény nem ad vissza értéket.
NotesA vonalak a
setPenColorparaméterrel beállított aktuális tollszínnel lesznek megrajzolva.A vonal vastagságát a
setPenWidthparaméterrel beállított aktuális tollszélesség határozza meg.A
xésykoordináták az aktuális képernyő origójához viszonyítottak, amely asetOriginsegí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.
// Draw a line from the top left to bottom right of the screen
Brain.Screen.drawLine(0, 0, 479, 239);

drawRectangle#
Egy téglalapot rajzol a V5 Brain képernyőjére a megadott helyen és méretben.
Available Functions1 — 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 );
Parameters4 — 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 );
Paraméter |
Típus |
Leírás |
|---|---|---|
|
|
A téglalap bal felső sarkának x koordinátája, 0 és 479 közötti egész számként megadva. |
|
|
A téglalap bal felső sarkának y koordinátája, 0 és 239 közötti egész számként megadva. |
|
|
A téglalap szélessége, 0 és 479 közötti egész számként megadva. |
|
|
A téglalap magassága, 0 és 239 közötti egész számként megadva. |
|
|
|
|
|
Hexadecimális színértékkel tölti ki a téglalapot (például |
|
|
A téglalapot |
Ez a függvény nem ad vissza értéket.
NotesA téglalap körvonalát a
setPenColorparaméterrel beállított aktuális tollszínnel rajzolja meg a program.A körvonal vastagságát a
setPenWidthparaméterrel beállított aktuális tollszélesség határozza meg.Ha nincs megadva
colorparaméter, a téglalap belseje asetFillColorfüggvénnyel beállított aktuális kitöltőszínnel lesz kitöltve.A
xésykoordináták az aktuális képernyő origójához viszonyítottak, ami asetOriginsegí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
hueparamé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).

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

drawCircle#
Kör rajzolása a V5 Brain képernyőn a megadott pozícióban és sugárban.
Available Functions1 — 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 );
Parameters4 — 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 );
Paraméter |
Típus |
Leírás |
|---|---|---|
|
|
A kör középpontjának x koordinátája, 0 és 479 közötti egész számként megadva. |
|
|
A kör középpontjának y koordinátája, 0 és 239 közötti egész számként megadva. |
|
|
A kör sugara, 0 és 239 pixel közötti egész számként megadva. |
|
|
Egy
|
|
|
Hexadecimális színértékkel tölti ki a kört (például |
|
|
A kört a |
Ez a függvény nem ad vissza értéket.
NotesA kör körvonalát a
setPenColorparaméterrel beállított aktuális tollszínnel rajzolja meg a program.A körvonal vastagságát a
setPenWidthparaméterrel beállított aktuális tollszélesség határozza meg.Ha nincs megadva
colorparaméter, a kör belseje asetFillColorfüggvénnyel beállított aktuális kitöltőszínnel lesz kitöltve.A
xésykoordináták az aktuális képernyő origójához viszonyítottak, ami asetOriginsegítségével módosítható.A
hueparamé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).

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

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 Functionsbool drawImageFromFile(
const char* name,
int x,
int y );
Paraméter |
Típus |
Leírás |
|---|---|---|
|
|
A kép fájlneve az SD-kártyán. A fájl kiterjesztésének |
|
|
Az x koordináta pixelekben 0 és 479 között, amelynél a kép bal széle meg lesz rajzolva. |
|
|
Az y koordináta pixelekben 0 és 239 között, amelynél a kép felső széle meg lesz rajzolva. |
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).
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ésykoordináták az aktuális képernyő origójához viszonyítottak, ami asetOriginsegítségével módosítható.
// 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.
1 — Engedélyezi a dupla pufferelést, vagy a háttérpuffert jeleníti meg a képernyőn.
bool render();
Parameters2 — 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 );
Paraméter |
Típus |
Leírás |
|---|---|---|
|
|
|
|
|
Opcionális.
|
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
rendermeghívásáhozrenderhasználatára lesz szükség a projekt többi részéhez.
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 Functionsbool pressing();
Ez a függvény nem fogad el paramétereket.
Return ValuesEgy 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.
// 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 Functionsint32_t xPosition();
Ez a függvény nem fogad el paramétereket.
Return ValuesEgy 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.
// 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 Functionsint32_t yPosition();
Ez a függvény nem fogad el paramétereket.
Return ValuesEgy 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.
// 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 Functions1 — Meghív egy függvényt, amikor megnyomjuk a képernyőt.
void pressed( void (*callback)(void) );
Parameters2 — 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 );
Paraméter |
Típus |
Leírás |
|---|---|---|
|
|
Egy függvény, amely a képernyő megnyomásakor hívódik meg. |
|
|
Egy függvény, amely a képernyő megnyomásakor hívódik meg, és felhasználó által definiált argumentumot kap. |
|
|
Egy felhasználó által definiált érték, amely a képernyő megnyomásakor átadódik a visszahívó függvénynek. |
Ez a függvény nem ad vissza értéket.
NotesA 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ó;
pressedmegnyomása felülírja az előző visszahívót.A visszahívó függvénynek
voidértéket kell visszaadnia.
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 Functions1 — Meghív egy függvényt, amikor a képernyőt elengedik a megnyomás után.
void released( void (*callback)(void) );
Parameters2 — 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 );
Paraméter |
Típus |
Leírás |
|---|---|---|
|
|
Egy függvény, amely akkor hívódik meg, amikor a képernyőt elengedjük a megnyomás után. |
|
|
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. |
|
|
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. |
Ez a függvény nem ad vissza értéket.
NotesA 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.
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); } }










