Ekranas#
Įvadas#
screen klasė yra kilusi iš brain bazinės klasės. Ji kontroliuoja, kaip V5 Brain rodo tekstą, skaičius ir grafiką jutikliniame ekrane ir kaip reaguoja į lietimą.
Pagal numatytuosius nustatymus, „Brain“ spausdinimui naudojamas šriftas yra mažas vieno tarpo, turintis 12 eilučių ir 48 stulpelius.
Piešimui smegenų skiriamoji geba yra 480 x 240 pikselių.

Prieiga#
screen klasę galima pasiekti:
Brain.Screen
Pastabos#
screenobjektą pateikia smegenys. Jis nėra tiesiogiai konstruojamas.Projektuose naudojamas vienas globalus
Brainobjektas, todėl „screen“ funkcijos iškviečiamos naudojantBrain.Screen.
Pavyzdys#
/* 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!");
Narių funkcijos#
screen klasėje yra šios narinės funkcijos:
print– Spausdina suformatuotą tekstą, skaičius arba logines reikšmes į „Brain“ ekraną.setCursor— Perkelia teksto žymeklį į nurodytą eilutę ir stulpelį.newLine— Išvalo likusią dabartinės eilutės dalį ir perkelia žymeklį į kitą eilutę.clearLine— Išvalo likusią dabartinės eilutės dalį arba nurodytą eilutę.row— Grąžina eilutę, kurioje bus spausdinamas tekstas.column— Grąžina stulpelį, kuriame bus spausdinamas tekstas.getStringHeight— Grąžina eilutės aukštį pikseliais, naudojant dabartinį šriftą.getStringWidth— Grąžina eilutės plotį pikseliais, naudojant dabartinį šriftą.printAt– Spausdina suformatuotą tekstą x ir y pikselių vietoje.clearScreen— Išvalo visus piešinius ir tekstą iš „Brain“ ekrano.setFont— Nustato šriftą, naudojamą spausdinimui ekrane.setPenWidth— Nustato nubrėžtų linijų ir formos kontūrų storį.setPenColor– Nustato teksto, pikselių, linijų ir figūrų kontūrų spalvą.setFillColor— Nustato nupieštų formų ir spausdinto teksto fonų užpildymo spalvą.setOrigin— Nustato ekrano koordinatėms naudojamą pradžios tašką.setClipRegion— Apriboja ekrano išvestį iki stačiakampio formos srities.drawPixel— Nubraižo vieną pikselį koordinatėje.drawLine— Nubrėžia liniją tarp dviejų taškų.drawRectangle— Nubraižo stačiakampį x ir y koordinatėse su nurodytu dydžiu.drawCircle— Nubrėžia apskritimą x ir y koordinatėse nurodytu spinduliu.drawImageFromFile— Nupiešia vaizdą iš SD kortelės failo ekrane.render– Įjungia dvigubą buferizavimą arba atvaizduoja galinį buferį ekrane.pressing— Grąžina, ar ekranas šiuo metu yra spaudžiamas.xPosition— Grąžina paskutinio ekrano paspaudimo x koordinatę.yPosition— Grąžina paskutinio ekrano paspaudimo y koordinatę.pressed— Registruoja grįžtamojo ryšio funkciją, kuri būtų vykdoma paspaudus ekraną.released— Registruoja grįžtamojo ryšio funkciją, kuri bus vykdoma, kai ekranas atleidžiamas po paspaudimo.
Prieš iškviečiant bet kokias screen nario funkcijas, reikia sukurti brain egzempliorių, kaip parodyta žemiau:
// Create the V5 Brain
brain Brain = brain();
print#
V5 Brain ekrane rodo tekstą, skaičius arba logines reikšmes.
Available Functions1 — Spausdina suformatuotą tekstą naudodamas eilučių literalus arba tik skaitomas C stiliaus eilutes.
void print( const char* format, ... );
Parameters2 — Spausdina suformatuotą tekstą naudojant modifikuojamus simbolių masyvus.
void print( char* format, ... );
Parametras |
Tipas |
Aprašymas |
|---|---|---|
|
|
Formato eilutė, pateikta kaip eilutės literalas arba tik skaitymui skirta C stiliaus eilutė (pavyzdžiui, |
|
|
Formato eilutė, pateikta kaip modifikuojamas simbolių masyvas. |
|
Viena ar kelios papildomos reikšmės, įterptos į formatavimo eilutę, atskirtos kableliais. |
Ši funkcija negrąžina reikšmės.
NotesIšvestis prasideda nuo dabartinės žymeklio pozicijos ekrane.
Tekstas, atspausdintas su
printvisada spausdinamas su fonu, o fono spalva nustatoma pagal užpildymo spalvą.Naudojant formatavimo eilutę, perduodamų reikšmių skaičius ir tipai turi sutapti su eilutėje esančiais formato specifikacijomis.
// Display a message at the starting cursor
Brain.Screen.print("Hello, Robot!");

setCursor#
Perkelia žymeklį į konkrečią eilutę ir stulpelį V5 Brain ekrane. Kitas print iškvietimas pradės spausdinti nuo tos vietos.
void setCursor(
int32_t row,
int32_t col );
Parametras |
Tipas |
Aprašymas |
|---|---|---|
|
|
Eilutė, į kurią reikia perkelti žymeklį. |
|
|
Stulpelis, į kurį reikia perkelti žymeklį. |
Ši funkcija negrąžina reikšmės.
NotesĮtakoja, kur prasideda tolesnė teksto išvestis, kai naudojama
print.Eilutės ir stulpeliai yra pagrįsti šiuo metu nustatytu ekrano šriftu.
Numatytasis šriftas (
mono20) naudoja 12 eilučių ir 48 stulpelius.Funkcijos
setCursoriškvietimas paveikia tik vėlesnės teksto išvesties poziciją.
// Display text starting at Row 3 Column 12
Brain.Screen.setCursor(3, 12);
Brain.Screen.print("Row 3, Column 12");

newLine#
Perkelia žymeklį į kitos eilutės pradžią smegenų ekrane.
Available Functionsvoid newLine();
Ši funkcija nepriima jokių parametrų.
Return ValuesŠi funkcija negrąžina reikšmės.
NotesJei žymeklis yra sakinio viduryje,
newLineišvalys likusią eilutės dalį po žymeklio prieš pereinant į kitą eilutę.Iškvietus funkciją
newLine, žymeklis perkeliamas į kitos eilutės pirmą stulpelį.Žymeklio pozicija ir eilučių numeracija nustatomi naudojant
setCursor.
// Display two lines of text
Brain.Screen.print("Line 1");
Brain.Screen.newLine();
Brain.Screen.print("Line 2");

clearLine#
Išvalo tekstą iš eilutės „V5 Brain“ ekrane.
Available Functions1 — Išvalo likusią dabartinės eilutės dalį nuo žymeklio pozicijos.
void clearLine();
2 — Išvalo nurodytą eilutę naudodama šiuo metu sukonfigūruotą užpildymo spalvą.
void clearLine( int number );
3 — Išvalo nurodytą eilutę naudodamas iš anksto nustatytą arba pasirinktinės spalvos objektą.
void clearLine( int number, const color& color );
4 — Išvalo nurodytą eilutę naudodama šešioliktainę spalvos reikšmę.
void clearLine( int number, const char* color );
Parameters5 — Išvalo nurodytą eilutę naudodama atspalvio reikšmę.
void clearLine( int number, int hue );
Parametras |
Tipas |
Aprašymas |
|---|---|---|
|
|
Eilutės, kurią reikia išvalyti, numeris. Eilučių numeravimas prasideda nuo |
|
|
Išvalo eilutę naudodama
purple |
|
|
Išvalo eilutę naudodama šešioliktainę spalvos reikšmę (pavyzdžiui, |
|
|
Išvalo eilutę naudodama sveikojo skaičiaus atspalvio reikšmę diapazone |
Ši funkcija negrąžina reikšmės.
NotesIšvalius eilutę, dabartinė žymeklio padėtis nepasikeičia.
Žymeklio pozicija ir eilučių numeracija nustatomi naudojant
setCursor.hueparametro reikšmė pagrįsta apskritu spalvų ratu, kaip parodyta žemiau, kur reikšmės nurodo laipsnius aplink ratą (pavyzdžiui, raudona prie 0°, žalia prie 120° ir mėlyna prie 240°).

// 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#
Grąžina eilutę, kurioje tekstas bus atspausdintas V5 Brain ekrane.
Available Functionsint32_t row();
Ši funkcija nepriima jokių parametrų.
Return ValuesGrąžina int32_t , žymintį eilutę, kurioje bus spausdinamas tekstas.
Eilučių numeracija prasideda nuo 1.
NotesGrąžinta reikšmė nurodo, kur bus rodoma kita atspausdinta išvestis.
Eilutės reikšmė pasikeičia, kai spausdinamas tekstas arba kai iškviečiama
setCursor.
// Display the cursor's current row
Brain.Screen.setCursor(3, 12);
Brain.Screen.print(Brain.Screen.row());

column#
Grąžina stulpelį, kuriame tekstas bus spausdinamas V5 Brain ekrane.
Available Functionsint32_t column();
Ši funkcija nepriima jokių parametrų.
Return ValuesGrąžina int32_t , nurodantį stulpelį, kuriame bus spausdinamas tekstas.
Stulpelių numeracija prasideda nuo 1.
NotesGrąžinta reikšmė nurodo, kur bus rodoma kita atspausdinta išvestis.
Stulpelio reikšmė keičiasi, kai spausdinamas tekstas arba kai iškviečiama
setCursor.
// Display the cursor's current column
Brain.Screen.setCursor(5, 15);
Brain.Screen.print(Brain.Screen.column());

getStringHeight#
Grąžina eilutės aukštį pikseliais, kai ji vaizduojama „V5 Brain“ ekrane.
Available Functionsint32_t getStringHeight(
const char* cstr );
Parametras |
Tipas |
Aprašymas |
|---|---|---|
|
|
Matuojamas tekstas, pateikiamas kaip C stiliaus eilutė (pavyzdžiui, |
Grąžina int32_t , nurodantį eilutės aukštį pikseliais, kai ji vaizduojama „Brain“ ekrane.
getStringWidth#
Grąžina eilutės plotį pikseliais, kai ji vaizduojama „V5 Brain“ ekrane.
Available Functionsint32_t getStringWidth(
const char* cstr );
Parametras |
Tipas |
Aprašymas |
|---|---|---|
|
|
Matuojamas tekstas, pateikiamas kaip C stiliaus eilutė (pavyzdžiui, |
Grąžina int32_t , nurodantį eilutės plotį pikseliais, kai ji vaizduojama „Brain“ ekrane.
printAt#
V5 Brain ekrane tam tikroje koordinatėje spausdina tekstą, skaičius arba logines reikšmes.
Available Functions1 — Spausdina suformatuotą išvestį nurodytoje pikselio vietoje.
void printAt( int32_t x, int32_t y, const char* format, ... );
Parameters2 — Spausdina suformatuotą išvestį nurodytoje pikselio vietoje ir nustato, ar teksto fonas yra nepermatomas, ar permatomas.
void printAt( int32_t x, int32_t y, bool bOpaque, const char* format, ... );
Parametras |
Tipas |
Aprašymas |
|---|---|---|
|
|
X padėtis, kurioje spausdinti, atsižvelgiant į ekrano pradžios tašką. |
|
|
Y ašies padėtis, kurioje spausdinti, atsižvelgiant į ekrano pradžios tašką. |
|
|
Valdo, ar spausdinamas tekstas piešiamas neskaidriai, ar permatomai:
|
|
|
Formato eilutė, valdanti, kas spausdinama ekrane (pavyzdžiui, |
|
Viena ar kelios papildomos reikšmės, įterptos į formatavimo eilutę, atskirtos kableliais. |
Ši funkcija negrąžina reikšmės.
Notesxirykoordinatės yra santykinės dabartinio ekrano pradžios taško atžvilgiu, kurį galima pakeisti naudojantsetOrigin.Naudojant formatavimo eilutę, perduodamų reikšmių skaičius ir tipai turi sutapti su eilutėje esančiais formato specifikacijomis.
// Print "Center" at the center of the screen
Brain.Screen.printAt(220, 120, "Center");

clearScreen#
Ištrina visus piešinius ir tekstą iš „Brain“ ekrano ir atkuria žymeklio padėtį į 1 eilutę, 1 stulpelį.
Available Functions1 — Išvalo ekraną iki juodo.
void clearScreen();
2 — Išvalo ekraną naudodamas iš anksto nustatytą arba pasirinktinės spalvos objektą.
void clearScreen( const color& color );
3 — Išvalo ekraną naudodamas šešioliktainę spalvos reikšmę.
void clearScreen( const char* color );
Parameters4 — Išvalo ekraną naudodamas atspalvio reikšmę.
void clearScreen( int hue );
Parametras |
Tipas |
Aprašymas |
|---|---|---|
|
|
Išvalo ekraną naudodamas
purple |
|
|
Išvalo ekraną naudodamas šešioliktainę spalvos reikšmę, pateiktą kaip eilutę (pavyzdžiui, |
|
|
Išvalo ekraną naudodamas sveikojo skaičiaus atspalvio reikšmę diapazone |
Ši funkcija negrąžina reikšmės.
Noteshueparametro reikšmė pagrįsta apskritu spalvų ratu, kaip parodyta žemiau, kur reikšmės nurodo laipsnius aplink ratą (pavyzdžiui, raudona prie 0°, žalia prie 120° ir mėlyna prie 240°).

// 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#
Nustato šriftą, naudojamą tekstui, rodomam „V5 Brain“ ekrane.
Tai kontroliuoja šriftą, taikomą vėlesnei teksto išvestiei, kai naudojamos ekrano teksto funkcijos, pvz., print.
void setFont(
fontType font );
Parametras |
Tipas |
Aprašymas |
|---|---|---|
|
|
Sets the font to one of the following:
|
|
|
|
|---|---|---|
|
|
|
|
|
|
|
|
Ši funkcija negrąžina reikšmės.
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#
Nustato nubrėžtų linijų ir formos kontūrų storį.
Available Functionsvoid setPenWidth(
uint32_t width );
Parametras |
Tipas |
Aprašymas |
|---|---|---|
|
|
Rašiklio plotis pikseliais nuo 0 iki 32. |
Ši funkcija negrąžina reikšmės.
NotesRašiklio plotis taikomas piešimo funkcijoms, tokioms kaip
drawLine,drawRectangleirdrawCircle.
// Draw a rectangle with a pen width of 10
Brain.Screen.setPenWidth(10);
Brain.Screen.drawRectangle(50, 50, 130, 60);

setPenColor#
Nustato teksto, pikselių, linijų ir figūrų kontūrų spalvą.
Available Functions1 — Nustato rašiklio spalvą naudodamas iš anksto nustatytą arba pasirinktinės spalvos objektą.
void setPenColor( const color& color );
2 — Nustato rašiklio spalvą naudodama šešioliktainę spalvos reikšmę.
void setPenColor( const char* color );
Parameters3 — Nustato rašiklio spalvą naudojant atspalvio reikšmę.
void setPenColor( int hue );
Parametras |
Tipas |
Aprašymas |
|---|---|---|
|
|
Nustato rašiklio spalvą naudojant
|
|
|
Nustato rašiklio spalvą naudodama šešioliktainę spalvos reikšmę, pateiktą kaip eilutę (pavyzdžiui, |
|
|
Nustato rašiklio spalvą naudodamas sveikąjį skaičių atspalvio reikšmę diapazone |
Ši funkcija negrąžina reikšmės.
NotesNumatytoji rašiklio spalva projekto pradžioje yra
white.Rašiklio spalva naudojama formų kontūrams (pvz., naudojant
drawCirclearbadrawRectangle), teksto ir skaitinei išvesčiai (suprintirprintAt) ir atskiriems pikseliams, piešiamiems naudojantdrawPixel.hueparametro reikšmė pagrįsta apskritu spalvų ratu, kaip parodyta žemiau, kur reikšmės nurodo laipsnius aplink ratą (pavyzdžiui, raudona prie 0°, žalia prie 120° ir mėlyna prie 240°).

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

setFillColor#
Nustato užpildymo spalvą, naudojamą piešiant figūras.
Available Functions1 — Nustato užpildymo spalvą naudodamas iš anksto nustatytą arba pasirinktinės spalvos objektą.
void setFillColor( const color& color );
2 — Nustato užpildymo spalvą naudodama šešioliktainę spalvos reikšmę.
void setFillColor( const char* color );
Parameters3 — Nustato užpildymo spalvą naudodama atspalvio reikšmę.
void setFillColor( int hue );
Parametras |
Tipas |
Aprašymas |
|---|---|---|
|
|
Nustato užpildymo spalvą naudojant
|
|
|
Nustato užpildymo spalvą naudodama šešioliktainę spalvos reikšmę, pateiktą kaip eilutę (pavyzdžiui, |
|
|
Nustato užpildymo spalvą naudodamas sveikąjį skaičių atspalvio reikšmę diapazone |
Ši funkcija negrąžina reikšmės.
NotesNumatytoji užpildymo spalva projekto pradžioje yra
black.Užpildo spalva naudojama formų viduje (pvz., naudojant
drawCirclearbadrawRectangle).Užpildo spalva naudojama kaip spausdinto teksto fono spalva (pvz., su
printirprintAt).Jei su spausdintu tekstu naudojama
transparent, fonas busblack.
hueparametro reikšmė pagrįsta apskritu spalvų ratu, kaip parodyta žemiau, kur reikšmės nurodo laipsnius aplink ratą (pavyzdžiui, raudona prie 0°, žalia prie 120° ir mėlyna prie 240°).

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

setOrigin#
Nustato pradžios tašką, naudojamą piešimui ir spausdinimui pagal koordinates „Brain“ ekrane.
Available Functionsvoid setOrigin(
int32_t x,
int32_t y );
Parametras |
Tipas |
Aprašymas |
|---|---|---|
|
|
Pradinės taško x padėtis viršutinio kairiojo smegenų ekrano kampo atžvilgiu nuo 0 iki 479. |
|
|
Pradinės taško y padėtis viršutinio kairiojo smegenų ekrano kampo atžvilgiu nuo 0 iki 239. |
Ši funkcija negrąžina reikšmės.
NotesNumatytoji pradžios taškas yra viršutinis kairysis ekrano kampas koordinatėse (0, 0).
Pradinė taško reikšmė taikoma koordinatinėms funkcijoms, tokioms kaip
drawLine,drawRectangle,drawCircleirprintAt.Pradinė vieta lieka galioti, kol ji vėl pakeičiama arba projektas neatkuriamas.
setClipRegion#
Apibrėžia stačiakampę ekrano sritį, kurioje bus visi piešiniai ir tekstas. Turinys už šios srities ribų nebus rodomas.
Available Functionsvoid setClipRegion(
int x,
int y,
int width,
int height );
Parametras |
Tipas |
Aprašymas |
|---|---|---|
|
|
Viršutinio kairiojo iškirpimo srities kampo x koordinatė, nurodyta kaip sveikasis skaičius nuo 0 iki 479. |
|
|
Viršutinio kairiojo iškirpimo srities kampo y koordinatė, pateikta kaip sveikasis skaičius nuo 0 iki 239. |
|
|
Įrašymo srities plotis pikseliais, nurodytas kaip sveikasis skaičius nuo 0 iki 479. |
|
|
Iškarpos srities aukštis pikseliais, nurodytas kaip sveikasis skaičius nuo 0 iki 239. |
Ši funkcija negrąžina reikšmės.
NotesPiešimo funkcijos vykdomos net jei jos nepatenka į iškirpimo sritį, tačiau matoma tik srities viduje esanti dalis.
xirykoordinatės yra santykinės dabartinio ekrano pradžios taško atžvilgiu, kurį galima pakeisti naudojantsetOrigin.Iškirpimo sritis taikoma tik dabartinei gijai.
Nustačius naują iškarpos sritį, pakeičiama bet kokia anksčiau nustatyta dabartinio gija iškarpos sritis.
// 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#
V5 Brain ekrane pasirinktoje x ir y pikselių vietoje nupiešia vieną pikselį.
Available Functionsvoid drawPixel(
int x,
int y );
Parametras |
Tipas |
Aprašymas |
|---|---|---|
|
|
Pikselio x koordinatė, nurodyta sveikuoju skaičiumi nuo 0 iki 479, kur bus piešiamas pikselis. |
|
|
Y koordinatė, kur bus piešiamas pikselis, pateikiama kaip sveikasis skaičius nuo 0 iki 239. |
Ši funkcija negrąžina reikšmės.
NotesPikseliai piešiami naudojant dabartinę rašiklio spalvą, nustatytą su
setPenColor.xirykoordinatės yra santykinės dabartinio ekrano pradžios taško atžvilgiu, kurį galima nustatyti naudojantsetOrigin.Jei nurodyta pikselio vieta yra už ekrano ribų, pikselis nebraižomas.
// 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#
Nubrėžia tiesią liniją, jungiančią du taškus V5 Brain ekrane.
Available Functionsvoid drawLine(
int x1,
int y1,
int x2,
int y2 );
Parametras |
Tipas |
Aprašymas |
|---|---|---|
|
|
Pradinė linijos x koordinatė, nurodyta kaip sveikasis skaičius nuo 0 iki 479. |
|
|
Pradinė linijos y koordinatė, pateikta kaip sveikasis skaičius nuo 0 iki 239. |
|
|
Linijos galinė x koordinatė, pateikta kaip sveikasis skaičius nuo 0 iki 479. |
|
|
Linijos galinė y koordinatė, pateikta kaip sveikasis skaičius nuo 0 iki 239. |
Ši funkcija negrąžina reikšmės.
NotesLinijos brėžiamos naudojant dabartinę rašiklio spalvą, nustatytą su
setPenColor.Linijos plotis nustatomas pagal dabartinį rašiklio plotį, nustatytą naudojant
setPenWidth.xirykoordinatės yra santykinės dabartinio ekrano pradžios taško atžvilgiu, kurį galima nustatyti naudojantsetOrigin.Jei kuri nors linijos dalis yra už ekrano ribų, piešiama tik matoma dalis.
// Draw a line from the top left to bottom right of the screen
Brain.Screen.drawLine(0, 0, 479, 239);

drawRectangle#
Nurodytoje vietoje ir dydžio V5 Brain ekrane nubrėžia stačiakampį.
Available Functions1 — Nubrėžia ir užpildo stačiakampį naudodamas šiuo metu sukonfigūruotą užpildymo spalvą.
void drawRectangle( int x, int y, int width, int height );
2 — Nubrėžia ir užpildo stačiakampį naudodamas iš anksto nustatytą arba pasirinktinės spalvos objektą.
void drawRectangle( int x, int y, int width, int height, const color& color );
3 — Nubrėžia ir užpildo stačiakampį naudodamas šešioliktainę spalvos reikšmę.
void drawRectangle( int x, int y, int width, int height, const char* color );
Parameters4 — Nubrėžia ir užpildo stačiakampį naudodamas atspalvio reikšmę.
void drawRectangle( int x, int y, int width, int height, int hue );
Parametras |
Tipas |
Aprašymas |
|---|---|---|
|
|
Stačiakampio viršutinio kairiojo kampo x koordinatė, nurodyta kaip sveikasis skaičius nuo 0 iki 479. |
|
|
Stačiakampio viršutinio kairiojo kampo y koordinatė, pateikta kaip sveikasis skaičius nuo 0 iki 239. |
|
|
Stačiakampio plotis, nurodytas kaip sveikasis skaičius nuo 0 iki 479. |
|
|
Stačiakampio aukštis, nurodytas kaip sveikasis skaičius nuo 0 iki 239. |
|
|
Užpildo stačiakampį naudodamas
purple |
|
|
Užpildo stačiakampį šešioliktaine spalvos reikšme (pavyzdžiui, |
|
|
Užpildo stačiakampį atspalvio reikšme diapazone |
Ši funkcija negrąžina reikšmės.
NotesStačiakampio kontūras brėžiamas naudojant dabartinę rašiklio spalvą, nustatytą su
setPenColor.Kontūro storis nustatomas pagal dabartinį rašiklio plotį, nustatytą naudojant
setPenWidth.Kai nenurodytas
colorparametras, stačiakampio vidus užpildomas naudojant dabartinę užpildymo spalvą, nustatytą naudojantsetFillColor.xirykoordinatės yra santykinės dabartinio ekrano pradžios taško atžvilgiu, kurį galima pakeisti naudojantsetOrigin.Jei kuri nors stačiakampio dalis yra už ekrano ribų, piešiama tik matoma dalis.
hueparametro reikšmė pagrįsta apskritu spalvų ratu, kaip parodyta žemiau, kur reikšmės nurodo laipsnius aplink ratą (pavyzdžiui, raudona prie 0°, žalia prie 120° ir mėlyna prie 240°).

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

drawCircle#
Nubrėžia apskritimą V5 Brain ekrane nurodytoje vietoje ir spinduliu.
Available Functions1 — Nubrėžia ir užpildo apskritimą naudodamas šiuo metu sukonfigūruotą užpildymo spalvą.
void drawCircle( int x, int y, int radius );
2 — Nubrėžia ir užpildo apskritimą naudodamas iš anksto nustatytą arba pasirinktinės spalvos objektą.
void drawCircle( int x, int y, int radius, const color& color );
3 — Nubrėžia ir užpildo apskritimą naudodamas šešioliktainę spalvos reikšmę.
void drawCircle( int x, int y, int radius, const char* color );
Parameters4 — Nubrėžia ir užpildo apskritimą naudodamas atspalvio reikšmę.
void drawCircle( int x, int y, int radius, int hue );
Parametras |
Tipas |
Aprašymas |
|---|---|---|
|
|
Apskritimo centro x koordinatė, pateikta kaip sveikasis skaičius nuo 0 iki 479. |
|
|
Apskritimo centro y koordinatė, pateikta kaip sveikasis skaičius nuo 0 iki 239. |
|
|
Apskritimo spindulys, nurodytas kaip sveikasis skaičius nuo 0 iki 239 pikselių. |
|
|
Užpildo apskritimą naudodamas
purple |
|
|
Užpildo apskritimą naudodamas šešioliktainę spalvos reikšmę (pavyzdžiui, |
|
|
Užpildo apskritimą atspalvio reikšme diapazone |
Ši funkcija negrąžina reikšmės.
NotesApskritimo kontūras brėžiamas naudojant dabartinę rašiklio spalvą, nustatytą su
setPenColor.Kontūro storis nustatomas pagal dabartinį rašiklio plotį, nustatytą naudojant
setPenWidth.Kai nenurodytas
colorparametras, apskritimo vidus užpildomas naudojant dabartinę užpildymo spalvą, nustatytą naudojantsetFillColor.xirykoordinatės yra santykinės dabartinio ekrano pradžios taško atžvilgiu, kurį galima pakeisti naudojantsetOrigin.hueparametro reikšmė pagrįsta apskritu spalvų ratu, kaip parodyta žemiau, kur reikšmės nurodo laipsnius aplink ratą (pavyzdžiui, raudona prie 0°, žalia prie 120° ir mėlyna prie 240°).

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

drawImageFromFile#
Piešia vaizdą „V5 Brain“ ekrane, naudodamas vaizdo failą, saugomą SD kortelėje.
Available Functionsbool drawImageFromFile(
const char* name,
int x,
int y );
Parametras |
Tipas |
Aprašymas |
|---|---|---|
|
|
Vaizdo failo pavadinimas SD kortelėje. Failas turi turėti plėtinį |
|
|
X koordinatė pikseliais nuo 0 iki 479, ties kuria bus brėžiamas kairysis vaizdo kraštas. |
|
|
Y koordinatė pikseliais nuo 0 iki 239, kurioje bus brėžiamas viršutinis vaizdo kraštas. |
Grąžina loginę reikšmę, nurodančią, ar vaizdas buvo sėkmingai nupieštas:
true— Vaizdas buvo sėkmingai įkeltas ir nupieštas ekrane.false— Vaizdo nepavyko nupiešti (pavyzdžiui, jei failo nėra arba jis negalioja).
Palaikomi vaizdo formatai yra
.bmpir.png.Vaizdo failo dydis neturi viršyti
512 KBRekomenduojamas 8 bitų RLE kodavimas, siekiant sumažinti failo dydį.
Didžiausi palaikomi vaizdo matmenys yra „Brain“ ekrano dydis (apytiksliai 479 x 239 pikselių).
xirykoordinatės yra santykinės dabartinio ekrano pradžios taško atžvilgiu, kurį galima pakeisti naudojantsetOrigin.
// Draw a bmp file on the Brain's screen at coordinate 0, 0
Brain.Screen.drawImageFromFile("test_image.bmp", 0, 0);
render#
Įgalina dvigubą buferizavimą smegenų ekrane. Iškvietus, jokios piešimo funkcijos (pvz., tekstas, formos ar vaizdai) nebebus iš karto rodomos likusioje projekto dalyje. Vietoj to, atnaujinimai bus rodomi tik tada, kai vėl bus naudojamas render Tai leidžia sklandžiau ir labiau kontroliuojamai atnaujinti ekraną, bet reiškia, kad niekas nebus matoma, kol nebus naudojamas render.
1 — Įjungia dvigubą buferizavimą arba atvaizduoja galinį buferį ekrane.
bool render();
Parameters2 — Atkuria galinį buferį ekrane, valdydamas vertikalios sinchronizacijos elgseną ir pasirenkamą planuoklio vykdymą.
bool render( bool bVsyncWait, bool bRunScheduler = true );
Parametras |
Tipas |
Aprašymas |
|---|---|---|
|
|
|
|
|
Pasirinktinai.
|
Grąžina loginę reikšmę, nurodančią, ar buferyje išsaugoti piešiniai buvo sėkmingai atvaizduoti ekrane:
true— Piešiniai buvo sėkmingai atvaizduoti ekrane.false— Piešinių nepavyko atvaizduoti ekrane.
Notes
Iškvietus
render, likusiai projekto daliai reikės naudotirender.
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#
Praneša, ar šiuo metu spaudžiamas V5 Brain ekranas.
Available Functionsbool pressing();
Ši funkcija nepriima jokių parametrų.
Return ValuesGrąžina loginę reikšmę, nurodančią dabartinę ekrano paspaudimo būseną:true — Ekranas šiuo metu spaudžiamas. arba false — Ekranas nespaudžiamas.
// 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#
Grąžina paskutinio paspaudimo x koordinatę „V5 Brain“ ekrane.
Available Functionsint32_t xPosition();
Ši funkcija nepriima jokių parametrų.
Return ValuesGrąžina int32_t vaizduojančią paskutinio ekrano paspaudimo x koordinatę pikseliais nuo 0 iki 479.
// 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#
Grąžina paskutinio paspaudimo y koordinatę V5 Brain ekrane.
Available Functionsint32_t yPosition();
Ši funkcija nepriima jokių parametrų.
Return ValuesGrąžina int32_t reiškiantį paskutinio ekrano paspaudimo y koordinatę pikseliais nuo 0 iki 239.
// 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#
Registruoja funkciją, kuri bus iškviečiama paspaudus „V5 Brain“ ekraną.
Available Functions1 — Paspaudus ekraną, iškviečiama funkcija.
void pressed( void (*callback)(void) );
Parameters2 — Paspaudus ekraną, iškviečia funkciją ir perduoda vartotojo apibrėžtą argumentą atgalinio iškvietimo funkcijai.
void pressed( void (*callback)(void*), void* arg );
Parametras |
Tipas |
Aprašymas |
|---|---|---|
|
|
Funkcija, kuri iškviečiama paspaudus ekraną. |
|
|
Funkcija, kuri iškviečiama paspaudus ekraną ir gauna vartotojo apibrėžtą argumentą. |
|
|
Vartotojo apibrėžta reikšmė, kuri perduodama atgalinio iškvietimo funkcijai, kai paspaudžiamas ekranas. |
Ši funkcija negrąžina reikšmės.
NotesAtgalinio iškvietimo funkcija vykdoma kiekvieną kartą paspaudus smegenų ekraną.
Vienu metu galima užregistruoti tik vieną grįžtamojo iškvietimo funkciją; dar kartą iškvietus
pressedankstesnis grįžtamasis iškvietimas pakeičiamas.Atgalinio iškvietimo funkcija turi grąžinti
void.
Apibrėžkite grįžtamojo ryšio funkciją (už
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); }Registruokite atgalinį iškvietimą
int main()vidujeint main() { int pressCount = 0; // Register the callback and pass a value to update. Brain.Screen.pressed(onScreenPressed, &pressCount); while (true) { wait(20, msec); } }
released#
Registruoja funkciją, kuri bus iškviesta, kai paspaudus V5 Brain ekranas bus atleistas.
Available Functions1 — Iškviečia funkciją, kai ekranas atleidžiamas po paspaudimo.
void released( void (*callback)(void) );
Parameters2 — Iškviečia funkciją, kai ekranas atleidžiamas po paspaudimo, ir perduoda vartotojo apibrėžtą argumentą atgalinio iškvietimo funkcijai.
void released( void (*callback)(void*), void* arg );
Parametras |
Tipas |
Aprašymas |
|---|---|---|
|
|
Funkcija, kuri iškviečiama, kai ekranas atleidžiamas po paspaudimo. |
|
|
Funkcija, kuri iškviečiama, kai ekranas atleidžiamas po paspaudimo, ir gauna vartotojo apibrėžtą argumentą. |
|
|
Vartotojo apibrėžta reikšmė, kuri perduodama atgalinio iškvietimo funkcijai, kai ekranas atleidžiamas po paspaudimo. |
Ši funkcija negrąžina reikšmės.
NotesAtgalinio iškvietimo funkcija vykdoma kiekvieną kartą, kai paspaudus „Brain“ ekraną atleidžiamas.
Vienu metu galima užregistruoti tik vieną grįžtamojo iškvietimo funkciją; dar kartą iškvietus
releasedankstesnis grįžtamasis iškvietimas pakeičiamas.Atgalinio iškvietimo funkcija turi grąžinti
void.
Apibrėžkite grįžtamojo ryšio funkciją (už
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); }Registruokite atgalinį iškvietimą
int main()vidujeint main() { int releaseCount = 0; // Register the callback and pass a value to update. Brain.Screen.released(onScreenReleased, &releaseCount); while (true) { wait(20, msec); } }










