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ų.

„V5 Brain“ ekranas su raudonomis tinklelio linijomis, rodančiomis 12 eilučių ir 48 stulpelių išdėstymą. Pikselių matmenys yra 479 pločio ir 239 aukščio. Viršutinis kairysis kampas prasideda nuo (0,0) pikselių ir 1 eilutės, 1 stulpelio, o apatinis dešinysis kampas baigiasi ties (479, 239) pikselių ir 12 eilutės, 48 ​​stulpelio.

Prieiga#

screen klasę galima pasiekti:

Brain.Screen

Pastabos#

  • screen objektą pateikia smegenys. Jis nėra tiesiogiai konstruojamas.

  • Projektuose naudojamas vienas globalus Brain objektas, todėl „screen“ funkcijos iškviečiamos naudojant Brain.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 Functions

1 — Spausdina suformatuotą tekstą naudodamas eilučių literalus arba tik skaitomas C stiliaus eilutes.

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

2 — Spausdina suformatuotą tekstą naudojant modifikuojamus simbolių masyvus.

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

Parameters

Parametras

Tipas

Aprašymas

format

const char*

Formato eilutė, pateikta kaip eilutės literalas arba tik skaitymui skirta C stiliaus eilutė (pavyzdžiui, “Score: %d”).

format

char*

Formato eilutė, pateikta kaip modifikuojamas simbolių masyvas.

…

Viena ar kelios papildomos reikšmės, įterptos į formatavimo eilutę, atskirtos kableliais.

Return Values

Ši funkcija negrąžina reikšmės.

Notes
  • Išvestis prasideda nuo dabartinės žymeklio pozicijos ekrane.

  • Spausdinamam tekstui naudojamas dabartinis ekrano šriftas

  • Spausdinamam tekstui naudojama dabartinė rašiklio spalva .

  • Tekstas, atspausdintas su print visada 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.

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

V5 smegenų ekrano kopija, kurioje viršutiniame kairiajame kampe baltu tekstu atspausdintas užrašas „Labas, robote!“.

setCursor#

Perkelia žymeklį į konkrečią eilutę ir stulpelį V5 Brain ekrane. Kitas print iškvietimas pradės spausdinti nuo tos vietos.

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

Parameters

Parametras

Tipas

Aprašymas

row

int32_t

Eilutė, į kurią reikia perkelti žymeklį.

col

int32_t

Stulpelis, į kurį reikia perkelti žymeklį.

Return Values

Š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 setCursor iškvietimas paveikia tik vėlesnės teksto išvesties poziciją.

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

V5 smegenų ekrano kopija, kurioje viršutinėje dalyje, netoli ekrano centro, toje vietoje, atspausdintas 3 eilutės 12 stulpelis.

newLine#

Perkelia žymeklį į kitos eilutės pradžią smegenų ekrane.

Available Functions
void newLine();

Parameters

Ši funkcija nepriima jokių parametrų.

Return Values

Ši funkcija negrąžina reikšmės.

Notes
  • Jei žymeklis yra sakinio viduryje, newLine iš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.

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

„V5 Brain“ ekrano kopija, kurioje viršutiniame kairiajame kampe rodomos dvi balto teksto eilutės. Viršutinė eilutė yra „1 eilutė“, o antroji eilutė tiesiai po ja – „2 eilutė“.

clearLine#

Išvalo tekstą iš eilutės „V5 Brain“ ekrane.

Available Functions

1 — 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 );

5 — Išvalo nurodytą eilutę naudodama atspalvio reikšmę.

void clearLine(
    int number,
    int hue );

Parameters

Parametras

Tipas

Aprašymas

number

int

Eilutės, kurią reikia išvalyti, numeris. Eilučių numeravimas prasideda nuo 1.

color

const color&

Išvalo eilutę naudodama color objektą. Iš anksto apibrėžtos spalvos:

  • black
  • white
  • red
  • green
  • blue
  • yellow
  • orange
  • purple
  • cyan
  • transparent
Taip pat galima naudoti pasirinktinės spalvos objektą.

color

const char*

Išvalo eilutę naudodama šešioliktainę spalvos reikšmę (pavyzdžiui, “#000000”).

hue

int

Išvalo eilutę naudodama sveikojo skaičiaus atspalvio reikšmę diapazone 0iki359, kuri žymi laipsnius aplink spalvų ratą.

Return Values

Ši funkcija negrąžina reikšmės.

Notes
  • Išvalius eilutę, dabartinė žymeklio padėtis nepasikeičia.

  • Žymeklio pozicija ir eilučių numeracija nustatomi naudojant setCursor.

  • hue parametro 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°).

Spalvų ratas, rodantis spalvų diapazoną nuo 0 iki 359, kur raudona yra 0, žalia – 120, o mėlyna – 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#

Grąžina eilutę, kurioje tekstas bus atspausdintas V5 Brain ekrane.

Available Functions
int32_t row();

Parameters

Ši funkcija nepriima jokių parametrų.

Return Values

Grąžina int32_t , žymintį eilutę, kurioje bus spausdinamas tekstas.

Eilučių numeracija prasideda nuo 1.

Notes
  • Žymeklio padėtis nustatoma pagal dabartinį ekrano šriftą .

  • Grąž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.

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

„V5 Brain“ ekrano kopija, kurioje viršutiniame kairiajame ekrano kvadrante, 3 eilutės 12 stulpelio pozicijoje, baltai rodomas tekstas 3.

column#

Grąžina stulpelį, kuriame tekstas bus spausdinamas V5 Brain ekrane.

Available Functions
int32_t column();

Parameters

Ši funkcija nepriima jokių parametrų.

Return Values

Grąžina int32_t , nurodantį stulpelį, kuriame bus spausdinamas tekstas.

Stulpelių numeracija prasideda nuo 1.

Notes
  • Žymeklio padėtis nustatoma pagal dabartinį ekrano šriftą .

  • Grąž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.

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

„V5 Brain“ ekrano kopija, kurioje viršutiniame kairiajame ekrano kvadrante, 3 eilutės 15 stulpelio pozicijoje, baltai rodomas tekstas 15.

getStringHeight#

Grąžina eilutės aukštį pikseliais, kai ji vaizduojama „V5 Brain“ ekrane.

Available Functions
int32_t getStringHeight( 
    const char* cstr );

Parameters

Parametras

Tipas

Aprašymas

cstr

const char*

Matuojamas tekstas, pateikiamas kaip C stiliaus eilutė (pavyzdžiui, “Hello”).

Return Values

Grąžina int32_t , nurodantį eilutės aukštį pikseliais, kai ji vaizduojama „Brain“ ekrane.

Notes
  • Grąžintas aukštis priklauso nuo šiuo metu pasirinkto ekrano šrifto

  • Ši funkcija matuoja eilutę jos nepiešdama ekrane.

  • Grąžintas aukštis parodo, kaip eilutė atrodytų atspausdinta.

getStringWidth#

Grąžina eilutės plotį pikseliais, kai ji vaizduojama „V5 Brain“ ekrane.

Available Functions
int32_t getStringWidth( 
    const char* cstr );

Parameters

Parametras

Tipas

Aprašymas

cstr

const char*

Matuojamas tekstas, pateikiamas kaip C stiliaus eilutė (pavyzdžiui, “Hello”).

Return Values

Grąžina int32_t , nurodantį eilutės plotį pikseliais, kai ji vaizduojama „Brain“ ekrane.

Notes
  • Grąžintas plotis priklauso nuo šiuo metu pasirinkto ekrano šrifto

  • Ši funkcija matuoja eilutę jos nepiešdama ekrane.

  • Grąžintas plotis parodo, kaip eilutė atrodytų atspausdinta.

printAt#

V5 Brain ekrane tam tikroje koordinatėje spausdina tekstą, skaičius arba logines reikšmes.

Available Functions

1 — Spausdina suformatuotą išvestį nurodytoje pikselio vietoje.

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

2 — 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,
    ... );

Parameters

Parametras

Tipas

Aprašymas

x

int32_t

X padėtis, kurioje spausdinti, atsižvelgiant į ekrano pradžios tašką.

y

int32_t

Y ašies padėtis, kurioje spausdinti, atsižvelgiant į ekrano pradžios tašką.

bOpaque

bool

Valdo, ar spausdinamas tekstas piešiamas neskaidriai, ar permatomai:

  • true — Spausdinamo teksto fonas užpildomas naudojant dabartinę užpildymo spalvą.
  • false — Tekstas piešiamas permatomas, o fonas neužpildomas.

format

const char*

Formato eilutė, valdanti, kas spausdinama ekrane (pavyzdžiui, “Score: %d”).

…

Viena ar kelios papildomos reikšmės, įterptos į formatavimo eilutę, atskirtos kableliais.

Return Values

Ši funkcija negrąžina reikšmės.

Notes
  • x ir y koordinatės yra santykinės dabartinio ekrano pradžios taško atžvilgiu, kurį galima pakeisti naudojant setOrigin.

  • Spausdinamam tekstui naudojamas dabartinis ekrano šriftas

  • Spausdinamam tekstui naudojama dabartinė rašiklio spalva .

  • Naudojant formatavimo eilutę, perduodamų reikšmių skaičius ir tipai turi sutapti su eilutėje esančiais formato specifikacijomis.

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

„V5 Brain“ ekrano kopija su baltu užrašu „Centras“, ekrano centre.

clearScreen#

Ištrina visus piešinius ir tekstą iš „Brain“ ekrano ir atkuria žymeklio padėtį į 1 eilutę, 1 stulpelį.

Available Functions

1 — 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 );

4 — Išvalo ekraną naudodamas atspalvio reikšmę.

void clearScreen(
    int hue );

Parameters

Parametras

Tipas

Aprašymas

color

const color&

Išvalo ekraną naudodamas color objektą. Iš anksto apibrėžtos spalvos:

  • black
  • white
  • red
  • green
  • blue
  • yellow
  • orange
  • purple
  • cyan
  • transparent
Taip pat galima naudoti pasirinktinės spalvos objektą.

color

const char*

Išvalo ekraną naudodamas šešioliktainę spalvos reikšmę, pateiktą kaip eilutę (pavyzdžiui, “#000000”).

hue

int

Išvalo ekraną naudodamas sveikojo skaičiaus atspalvio reikšmę diapazone 0iki359ir atitinkančią spalvų rato laipsnius.

Return Values

Ši funkcija negrąžina reikšmės.

Notes
  • hue parametro 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°).

Spalvų ratas, rodantis spalvų diapazoną nuo 0 iki 359, kur raudona yra 0, žalia – 120, o mėlyna – 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);

„V5 Brain“ ekrano kopija, kurioje visa spausdinama sritis yra ryškiai mėlyna.

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.

Available Functions
void setFont(
  fontType font );

Parameters

Parametras

Tipas

Aprašymas

font

fontType

Sets the font to one of the following:

  • mono12
  • mono15
  • mono20
  • mono30
  • mono40
  • mono60
  • prop20
  • prop30
  • prop40
  • prop60
  • fontType::cjk16 — Can print Chinese, Japanese, and Korean characters.
    • Simplified Chinese — Can be seen up to column 28.
    • Traditional Chinese — Can be seen up to column 28.
    • Japanese (Kanji) — Can be seen up to column 28.
    • Korean (Hangul) — Can be seen up to column 30.
These options are shown below.

TA ekrano kopija, kurioje matyti „V5 Brain“ ekranas su baltai atspausdintais skaičiais ir raidėmis viršutiniame kairiajame kampe MONO 12 šriftu. Joje vienoje eilutėje, maždaug ketvirtadalyje ekrano pločio, rodoma AZ. Apatiniame kairiajame kampe rodoma 80 stulpelių ir 20 eilučių.
mono12

Tas pats paveikslėlis kaip ir ankstesnis, tik su šriftu „Mono 15“. Jame vienoje eilutėje, beveik per pusę ekrano pločio, rodoma AZ. Apatiniame kairiajame kampe rodoma 68 stulpeliai ir 16 eilučių.
mono15

Tas pats paveikslėlis kaip ir ankstesnis, tik su šriftu „Mono 20“. Jame vienoje eilutėje, užimančioje beveik du trečdalius ekrano pločio, rodoma AZ. Apatiniame kairiajame kampe rodomi 48 stulpeliai ir 12 eilučių.
mono20

Tas pats paveikslėlis kaip ir ankstesnis, tik su šriftu „Mono 30“. Jame vienoje eilutėje, beveik per visą ekrano plotį, rodoma AZ. Apatiniame kairiajame kampe rodoma 32 stulpeliai ir 8 eilutės.
mono30

Tas pats paveikslėlis kaip ir ankstesnis, tik su šriftu „Mono 40“. Jame vienoje eilutėje, per visą ekrano plotį, rodomas AX. Apatiniame kairiajame kampe rodomi 24 stulpeliai ir 6 eilutės.
mono40

Tas pats paveikslėlis kaip ir ankstesnis, tik su šriftu „Mono 60“. Jame vienoje eilutėje pavaizduotas AP, apimantis visą ekrano plotį. Apačioje nurodyta 16 stulpelių ir 4 eilutės.
mono60

Tas pats paveikslėlis kaip ir ankstesnis, tik su „Prop 20“ šriftu. Jame vienoje eilutėje, užimančioje beveik du trečdalius ekrano pločio, rodoma AZ. Apatiniame kairiajame kampe rodomi 48 stulpeliai ir 12 eilučių.
prop20

Tas pats paveikslėlis kaip ir ankstesnis, tik su „Prop 30“ šriftu. Jame vienoje eilutėje rodoma AZ, apimanti beveik visą ekrano plotį. Apatiniame kairiajame kampe rodoma 32 stulpeliai ir 8 eilutės.
prop30

Tas pats paveikslėlis kaip ir ankstesnis, tik su „Prop 40“ šriftu. Jame AU rodomas vienoje eilutėje, apimančioje visą ekrano plotį. Apatiniame kairiajame kampe rodoma 24 stulpeliai ir 6 eilutės.
prop40

Tas pats paveikslėlis kaip ir ankstesnis, tik su „Prop 60“ šriftu. Jame vienoje eilutėje, per visą ekrano plotį, rodomas AN. Apačioje rodoma 15 stulpelių ir 4 eilutės.
prop60

Tas pats paveikslėlis kaip ir ankstesnis, tik su CJK 16 šriftu. Jame vienoje eilutėje rodoma AZ, užimanti maždaug du trečdalius ekrano. Tolesnėse eilutėse pateikiamas VEX kodas supaprastinta kinų, tradicine kinų, korėjiečių ir japonų kalbomis. Apačioje rodomi 43 stulpeliai ir 12 eilučių.
fontType::cjk16

Return Values

Ši funkcija negrąžina reikšmės.

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

„V5 Brain“ ekrano kopija, kurioje viršutiniame kairiajame kampe rodomas baltas tekstas su didesniu nei numatytasis šriftu užrašu „VEX“.


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

„V5 Brain“ ekrano kopija, kurioje viršutiniame kairiajame kampe rodomas kinų šriftu parašytas tekstas „VEX机器人“.

setPenWidth#

Nustato nubrėžtų linijų ir formos kontūrų storį.

Available Functions
void setPenWidth(
  uint32_t width );

Parameters

Parametras

Tipas

Aprašymas

width

uint32_t

Rašiklio plotis pikseliais nuo 0 iki 32.

Return Values

Ši funkcija negrąžina reikšmės.

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

„V5 Brain“ ekrano kopija, kurioje viršutiniame kairiajame ekrano kvadrante rodomas stačiakampis su storais rėmeliais.

setPenColor#

Nustato teksto, pikselių, linijų ir figūrų kontūrų spalvą.

Available Functions

1 — 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 );

3 — Nustato rašiklio spalvą naudojant atspalvio reikšmę.

void setPenColor(
    int hue );

Parameters

Parametras

Tipas

Aprašymas

color

const color&

Nustato rašiklio spalvą naudojant color objektą. Iš anksto apibrėžtos spalvos:

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

color

const char*

Nustato rašiklio spalvą naudodama šešioliktainę spalvos reikšmę, pateiktą kaip eilutę (pavyzdžiui, “#FF0000”).

hue

int

Nustato rašiklio spalvą naudodamas sveikąjį skaičių atspalvio reikšmę diapazone 0iki359, kuri nurodo laipsnius aplink spalvų ratą (pavyzdžiui, 0 yra raudona, 120 yra žalia, o 240 yra mėlyna).

Return Values

Ši funkcija negrąžina reikšmės.

Notes
  • Numatytoji rašiklio spalva projekto pradžioje yra white.

  • Rašiklio spalva naudojama formų kontūrams (pvz., naudojant drawCircle arba drawRectangle), teksto ir skaitinei išvesčiai (su print ir printAt) ir atskiriems pikseliams, piešiamiems naudojant drawPixel.

  • hue parametro 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°).

Spalvų ratas, rodantis spalvų diapazoną nuo 0 iki 359, kur raudona yra 0, žalia – 120, o mėlyna – 240.

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

„V5 Brain“ ekrano kopija, kurioje viršutiniame kairiajame ekrano kvadrante rodomas oranžine spalva nupieštas stačiakampis.

setFillColor#

Nustato užpildymo spalvą, naudojamą piešiant figūras.

Available Functions

1 — 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 );

3 — Nustato užpildymo spalvą naudodama atspalvio reikšmę.

void setFillColor(
    int hue );

Parameters

Parametras

Tipas

Aprašymas

color

const color&

Nustato užpildymo spalvą naudojant color objektą. Iš anksto apibrėžtos spalvos:

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

color

const char*

Nustato užpildymo spalvą naudodama šešioliktainę spalvos reikšmę, pateiktą kaip eilutę (pavyzdžiui, “#00FF00”).

hue

int

Nustato užpildymo spalvą naudodamas sveikąjį skaičių atspalvio reikšmę diapazone 0iki359, kuri nurodo laipsnius aplink spalvų ratą (pavyzdžiui, 0 yra raudona, 120 yra žalia, o 240 yra mėlyna).

Return Values

Ši funkcija negrąžina reikšmės.

Notes
  • Numatytoji užpildymo spalva projekto pradžioje yra black.

  • Užpildo spalva naudojama formų viduje (pvz., naudojant drawCircle arba drawRectangle).

  • Užpildo spalva naudojama kaip spausdinto teksto fono spalva (pvz., su print ir printAt).

    • Jei su spausdintu tekstu naudojama transparent , fonas bus black.

  • hue parametro 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°).

Spalvų ratas, rodantis spalvų diapazoną nuo 0 iki 359, kur raudona yra 0, žalia – 120, o mėlyna – 240.

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

„V5 Brain“ ekrano kopija, kurioje apatiniame kairiajame ekrano kvadrante rodomas violetine spalva užpildytas stačiakampis.

setOrigin#

Nustato pradžios tašką, naudojamą piešimui ir spausdinimui pagal koordinates „Brain“ ekrane.

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

Parameters

Parametras

Tipas

Aprašymas

x

int32_t

Pradinės taško x padėtis viršutinio kairiojo smegenų ekrano kampo atžvilgiu nuo 0 iki 479.

y

int32_t

Pradinės taško y padėtis viršutinio kairiojo smegenų ekrano kampo atžvilgiu nuo 0 iki 239.

Return Values

Ši funkcija negrąžina reikšmės.

Notes
  • Numatytoji 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, drawCircle ir printAt.

  • 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 Functions
void setClipRegion(
  int x,
  int y,
  int width,
  int height );

Parameters

Parametras

Tipas

Aprašymas

x

int

Viršutinio kairiojo iškirpimo srities kampo x koordinatė, nurodyta kaip sveikasis skaičius nuo 0 iki 479.

y

int

Viršutinio kairiojo iškirpimo srities kampo y koordinatė, pateikta kaip sveikasis skaičius nuo 0 iki 239.

width

int

Įrašymo srities plotis pikseliais, nurodytas kaip sveikasis skaičius nuo 0 iki 479.

height

int

Iškarpos srities aukštis pikseliais, nurodytas kaip sveikasis skaičius nuo 0 iki 239.

Return Values

Ši funkcija negrąžina reikšmės.

Notes
  • Piešimo funkcijos vykdomos net jei jos nepatenka į iškirpimo sritį, tačiau matoma tik srities viduje esanti dalis.

  • x ir y koordinatės yra santykinės dabartinio ekrano pradžios taško atžvilgiu, kurį galima pakeisti naudojant setOrigin.

  • 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.

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!");

„V5 Brain“ ekrano kopija su baltu užrašu „Iškirpta“ ir po juo viršutiniame kairiajame kvadrante raudonu kvadratu, atspindinčiu tai, kas atspausdinta iškarpų srityje.

drawPixel#

V5 Brain ekrane pasirinktoje x ir y pikselių vietoje nupiešia vieną pikselį.

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

Parameters

Parametras

Tipas

Aprašymas

x

int

Pikselio x koordinatė, nurodyta sveikuoju skaičiumi nuo 0 iki 479, kur bus piešiamas pikselis.

y

int

Y koordinatė, kur bus piešiamas pikselis, pateikiama kaip sveikasis skaičius nuo 0 iki 239.

Return Values

Ši funkcija negrąžina reikšmės.

Notes
  • Pikseliai piešiami naudojant dabartinę rašiklio spalvą, nustatytą su setPenColor.

  • x ir y koordinatės yra santykinės dabartinio ekrano pradžios taško atžvilgiu, kurį galima nustatyti naudojant setOrigin.

  • Jei nurodyta pikselio vieta yra už ekrano ribų, pikselis nebraižomas.

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

„V5 Brain“ ekrano kopija, kurioje matyti pikselių rinkinys, rodantis kvadrato kampus netoli ekrano centro.

drawLine#

Nubrėžia tiesią liniją, jungiančią du taškus V5 Brain ekrane.

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

Parameters

Parametras

Tipas

Aprašymas

x1

int

Pradinė linijos x koordinatė, nurodyta kaip sveikasis skaičius nuo 0 iki 479.

y1

int

Pradinė linijos y koordinatė, pateikta kaip sveikasis skaičius nuo 0 iki 239.

x2

int

Linijos galinė x koordinatė, pateikta kaip sveikasis skaičius nuo 0 iki 479.

y2

int

Linijos galinė y koordinatė, pateikta kaip sveikasis skaičius nuo 0 iki 239.

Return Values

Ši funkcija negrąžina reikšmės.

Notes
  • Linijos brėžiamos naudojant dabartinę rašiklio spalvą, nustatytą su setPenColor.

  • Linijos plotis nustatomas pagal dabartinį rašiklio plotį, nustatytą naudojant setPenWidth.

  • x ir y koordinatės yra santykinės dabartinio ekrano pradžios taško atžvilgiu, kurį galima nustatyti naudojant setOrigin.

  • Jei kuri nors linijos dalis yra už ekrano ribų, piešiama tik matoma dalis.

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

„V5 Brain“ ekrano kopijoje matyti plona įstriža linija per centrą, nuo viršutinio kairiojo kampo iki apatinio dešiniojo kampo.

drawRectangle#

Nurodytoje vietoje ir dydžio V5 Brain ekrane nubrėžia stačiakampį.

Available Functions

1 — 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 );

4 — Nubrėžia ir užpildo stačiakampį naudodamas atspalvio reikšmę.

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

Parameters

Parametras

Tipas

Aprašymas

x

int

Stačiakampio viršutinio kairiojo kampo x koordinatė, nurodyta kaip sveikasis skaičius nuo 0 iki 479.

y

int

Stačiakampio viršutinio kairiojo kampo y koordinatė, pateikta kaip sveikasis skaičius nuo 0 iki 239.

width

int

Stačiakampio plotis, nurodytas kaip sveikasis skaičius nuo 0 iki 479.

height

int

Stačiakampio aukštis, nurodytas kaip sveikasis skaičius nuo 0 iki 239.

color

const color&

Užpildo stačiakampį naudodamas color objektą. Iš anksto apibrėžtos spalvos:

  • black
  • white
  • red
  • green
  • blue
  • yellow
  • orange
  • purple
  • cyan
  • transparent
Taip pat galima naudoti pasirinktinės spalvos objektą.

color

const char*

Užpildo stačiakampį šešioliktaine spalvos reikšme (pavyzdžiui, “#FF0000”).

hue

int

Užpildo stačiakampį atspalvio reikšme diapazone 0iki359.

Return Values

Ši funkcija negrąžina reikšmės.

Notes
  • Stač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 color parametras, stačiakampio vidus užpildomas naudojant dabartinę užpildymo spalvą, nustatytą naudojant setFillColor.

  • x ir y koordinatės yra santykinės dabartinio ekrano pradžios taško atžvilgiu, kurį galima pakeisti naudojant setOrigin.

  • Jei kuri nors stačiakampio dalis yra už ekrano ribų, piešiama tik matoma dalis.

  • hue parametro 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°).

Spalvų ratas, rodantis spalvų diapazoną nuo 0 iki 359, kur raudona yra 0, žalia – 120, o mėlyna – 240.

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

„V5 Brain“ ekrano kopijoje matyti stačiakampis su plonu baltu apvadu viršutiniame kairiajame kvadrante.

drawCircle#

Nubrėžia apskritimą V5 Brain ekrane nurodytoje vietoje ir spinduliu.

Available Functions

1 — 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 );

4 — Nubrėžia ir užpildo apskritimą naudodamas atspalvio reikšmę.

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

Parameters

Parametras

Tipas

Aprašymas

x

int

Apskritimo centro x koordinatė, pateikta kaip sveikasis skaičius nuo 0 iki 479.

y

int

Apskritimo centro y koordinatė, pateikta kaip sveikasis skaičius nuo 0 iki 239.

radius

int

Apskritimo spindulys, nurodytas kaip sveikasis skaičius nuo 0 iki 239 pikselių.

color

const color&

Užpildo apskritimą naudodamas color objektą. Iš anksto apibrėžtos spalvos:

  • black
  • white
  • red
  • green
  • blue
  • yellow
  • orange
  • purple
  • cyan
  • transparent
Taip pat galima naudoti pasirinktinės spalvos objektą.

color

const char*

Užpildo apskritimą naudodamas šešioliktainę spalvos reikšmę (pavyzdžiui, “#FF0000”).

hue

int

Užpildo apskritimą atspalvio reikšme diapazone 0iki359.

Return Values

Ši funkcija negrąžina reikšmės.

Notes
  • Apskritimo 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 color parametras, apskritimo vidus užpildomas naudojant dabartinę užpildymo spalvą, nustatytą naudojant setFillColor.

  • x ir y koordinatės yra santykinės dabartinio ekrano pradžios taško atžvilgiu, kurį galima pakeisti naudojant setOrigin.

  • hue parametro 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°).

Spalvų ratas, rodantis spalvų diapazoną nuo 0 iki 359, kur raudona yra 0, žalia – 120, o mėlyna – 240.

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

„V5 Brain“ ekrano kopijoje matyti apskritimas su plonu baltu rėmeliu centre.

drawImageFromFile#

Piešia vaizdą „V5 Brain“ ekrane, naudodamas vaizdo failą, saugomą SD kortelėje.

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

Parameters

Parametras

Tipas

Aprašymas

name

const char*

Vaizdo failo pavadinimas SD kortelėje. Failas turi turėti plėtinį .bmp arba .png.

x

int

X koordinatė pikseliais nuo 0 iki 479, ties kuria bus brėžiamas kairysis vaizdo kraštas.

y

int

Y koordinatė pikseliais nuo 0 iki 239, kurioje bus brėžiamas viršutinis vaizdo kraštas.

Return Values

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

Notes
  • Palaikomi vaizdo formatai yra .bmp ir .png.

  • Vaizdo failo dydis neturi viršyti 512 KB

    • Rekomenduojamas 8 bitų RLE kodavimas, siekiant sumažinti failo dydį.

  • Didžiausi palaikomi vaizdo matmenys yra „Brain“ ekrano dydis (apytiksliai 479 x 239 pikselių).

  • x ir y koordinatės yra santykinės dabartinio ekrano pradžios taško atžvilgiu, kurį galima pakeisti naudojant setOrigin.

Examples
// 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.

Available Functions

1 — Įjungia dvigubą buferizavimą arba atvaizduoja galinį buferį ekrane.

bool render();

2 — Atkuria galinį buferį ekrane, valdydamas vertikalios sinchronizacijos elgseną ir pasirenkamą planuoklio vykdymą.

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

Parameters

Parametras

Tipas

Aprašymas

bVsyncWait

bool

​

  • true — Prieš vaizduojant palaukti, kol ekranas bus atnaujintas vertikaliai, kad sumažėtų vaizdo plyšimas.
  • false — Prieš vaizduojant nelaukti, kol ekranas bus atnaujintas vertikaliai.

bRunScheduler

bool

Pasirinktinai.

  • true (numatytasis) — Leisti foninėms užduotims vykdyti, kol laukiama, kol bus vaizduojamas.
  • false — Neleisti foninėms užduotims vykdyti, kol laukiama, kol bus vaizduojamas.

Return Values

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 naudoti render.

    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#

Praneša, ar šiuo metu spaudžiamas V5 Brain ekranas.

Available Functions
bool pressing();

Parameters

Ši funkcija nepriima jokių parametrų.

Return Values

Grąžina loginę reikšmę, nurodančią dabartinę ekrano paspaudimo būseną:true — Ekranas šiuo metu spaudžiamas. arba false — Ekranas nespaudžiamas.

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#

Grąžina paskutinio paspaudimo x koordinatę „V5 Brain“ ekrane.

Available Functions
int32_t xPosition();

Parameters

Ši funkcija nepriima jokių parametrų.

Return Values

Grąžina int32_t vaizduojančią paskutinio ekrano paspaudimo x koordinatę pikseliais nuo 0 iki 479.

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#

Grąžina paskutinio paspaudimo y koordinatę V5 Brain ekrane.

Available Functions
int32_t yPosition();

Parameters

Ši funkcija nepriima jokių parametrų.

Return Values

Grąžina int32_t reiškiantį paskutinio ekrano paspaudimo y koordinatę pikseliais nuo 0 iki 239.

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#

Registruoja funkciją, kuri bus iškviečiama paspaudus „V5 Brain“ ekraną.

Available Functions

1 — Paspaudus ekraną, iškviečiama funkcija.

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

2 — Paspaudus ekraną, iškviečia funkciją ir perduoda vartotojo apibrėžtą argumentą atgalinio iškvietimo funkcijai.

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

Parameters

Parametras

Tipas

Aprašymas

callback

void (*)(void)

Funkcija, kuri iškviečiama paspaudus ekraną.

callback

void ()(void)

Funkcija, kuri iškviečiama paspaudus ekraną ir gauna vartotojo apibrėžtą argumentą.

arg

void*

Vartotojo apibrėžta reikšmė, kuri perduodama atgalinio iškvietimo funkcijai, kai paspaudžiamas ekranas.

Return Values

Ši funkcija negrąžina reikšmės.

Notes
  • Atgalinio 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 pressed ankstesnis grįžtamasis iškvietimas pakeičiamas.

  • Atgalinio iškvietimo funkcija turi grąžinti void.

Examples

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

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#

Registruoja funkciją, kuri bus iškviesta, kai paspaudus V5 Brain ekranas bus atleistas.

Available Functions

1 — Iškviečia funkciją, kai ekranas atleidžiamas po paspaudimo.

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

2 — 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 );

Parameters

Parametras

Tipas

Aprašymas

callback

void (*)(void)

Funkcija, kuri iškviečiama, kai ekranas atleidžiamas po paspaudimo.

callback

void ()(void)

Funkcija, kuri iškviečiama, kai ekranas atleidžiamas po paspaudimo, ir gauna vartotojo apibrėžtą argumentą.

arg

void*

Vartotojo apibrėžta reikšmė, kuri perduodama atgalinio iškvietimo funkcijai, kai ekranas atleidžiamas po paspaudimo.

Return Values

Ši funkcija negrąžina reikšmės.

Notes
  • Atgalinio 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 released ankstesnis grįžtamasis iškvietimas pakeičiamas.

  • Atgalinio iškvietimo funkcija turi grąžinti void.

Examples

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

int main() {
  int releaseCount = 0;

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

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