Οθόνη#

Εισαγωγή#

Η κλάση screen προέρχεται από την βασική κλάση brain. Ελέγχει τον τρόπο με τον οποίο το V5 Brain εμφανίζει κείμενο, αριθμούς και γραφικά στην οθόνη αφής του και τον τρόπο με τον οποίο ανταποκρίνεται στην είσοδο αφής.

Από προεπιλογή, η γραμματοσειρά για εκτύπωση στο Brain είναι monospaced small η οποία έχει 12 γραμμές και 48 στήλες.

Για το σχέδιο, η ανάλυση του Brain είναι 480 x 240 pixel.

Η οθόνη V5 Brain με κόκκινες γραμμές πλέγματος που δείχνουν τη διάταξη 12 γραμμών και 48 στηλών συνολικά. Οι διαστάσεις των pixel είναι 479 πλάτος επί 239 ύψος. Η επάνω αριστερή γωνία ξεκινά από (0,0) pixel και τη σειρά 1, στήλη 1, ενώ η κάτω δεξιά γωνία καταλήγει στα (479, 239) pixel και τη σειρά 12, στήλη 48.

Πρόσβαση#

Η πρόσβαση στην κλάση screen είναι δυνατή μέσω:

Brain.Screen

Σημειώσεις#

  • Το αντικείμενο οθόνη παρέχεται από τον Εγκέφαλο. Δεν κατασκευάζεται απευθείας.

  • Τα έργα χρησιμοποιούν ένα μόνο καθολικό αντικείμενο Brain , επομένως οι συναρτήσεις οθόνης καλούνται χρησιμοποιώντας το Brain.Screen.

Παράδειγμα#

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

Συναρτήσεις Μελών#

Η κλάση screen περιλαμβάνει τις ακόλουθες συναρτήσεις-μέλη:

  • εκτύπωση — Εκτυπώνει μορφοποιημένο κείμενο, αριθμούς ή λογικές τιμές στην οθόνη Brain.

  • setCursor — Μετακινεί τον κέρσορα κειμένου σε μια καθορισμένη γραμμή και στήλη.

  • νέαΓραμμή — Διαγράφει το υπόλοιπο της τρέχουσας γραμμής και μετακινεί τον κέρσορα στην επόμενη γραμμή.

  • clearLine — Διαγράφει το υπόλοιπο της τρέχουσας γραμμής ή διαγράφει μια συγκεκριμένη γραμμή.

  • γραμμή — Επιστρέφει τη γραμμή όπου θα εκτυπωθεί το κείμενο.

  • στήλη — Επιστρέφει τη στήλη όπου θα εκτυπωθεί το κείμενο.

  • getStringHeight — Επιστρέφει το ύψος μιας συμβολοσειράς σε pixel χρησιμοποιώντας την τρέχουσα γραμματοσειρά.

  • getStringWidth — Επιστρέφει το πλάτος μιας συμβολοσειράς σε pixel χρησιμοποιώντας την τρέχουσα γραμματοσειρά.

  • printAt — Εκτυπώνει μορφοποιημένο κείμενο σε μια θέση εικονοστοιχείου x, y.

  • clearScreen — Διαγράφει όλα τα σχέδια και το κείμενο από την οθόνη Brain.

  • setFont — Ορίζει τη γραμματοσειρά που χρησιμοποιείται για την εκτύπωση στην οθόνη.

  • setPenWidth — Ορίζει το πάχος των γραμμών που έχουν σχεδιαστεί και των περιγραμμάτων των σχημάτων.

  • setPenColor — Ορίζει το χρώμα κειμένου, pixel, γραμμών και περιγραμμάτων σχήματος.

  • setFillColor — Ορίζει το χρώμα γεμίσματος για τα σχεδιασμένα σχήματα και τα φόντα εκτυπωμένου κειμένου.

  • setOrigin — Ορίζει την αρχή που χρησιμοποιείται για τις συντεταγμένες της οθόνης.

  • setClipRegion — Περιορίζει την έξοδο της οθόνης σε μια ορθογώνια περιοχή.

  • drawPixel — Σχεδιάζει ένα pixel σε μια συντεταγμένη.

  • drawLine — Σχεδιάζει μια γραμμή μεταξύ δύο σημείων.

  • drawRectangle — Σχεδιάζει ένα ορθογώνιο σε μια θέση x, y με ένα καθορισμένο μέγεθος.

  • drawCircle — Σχεδιάζει έναν κύκλο σε μια θέση x, y με καθορισμένη ακτίνα.

  • drawImageFromFile — Σχεδιάζει μια εικόνα από ένα αρχείο κάρτας SD στην οθόνη.

  • απόδοση — Ενεργοποιεί τη διπλή προσωρινή αποθήκευση ή αποδίδει την προσωρινή αποθήκευση στην οθόνη.

  • πατώντας — Επιστρέφει εάν η οθόνη πατιέται τη δεδομένη στιγμή.

  • xΘέση — Επιστρέφει τη συντεταγμένη x του πιο πρόσφατου πατήματος οθόνης.

  • yPosition — Επιστρέφει τη συντεταγμένη y του πιο πρόσφατου πατήματος οθόνης.

  • πατημένο — Καταγράφει μια συνάρτηση επανάκλησης που θα εκτελείται όταν πατηθεί η οθόνη.

  • released — Καταγράφει μια συνάρτηση επανάκλησης που θα εκτελεστεί όταν η οθόνη απελευθερωθεί μετά το πάτημα.

Πριν από την κλήση οποιασδήποτε συνάρτησης μέλους screen , πρέπει να δημιουργηθεί μια παρουσία brain , όπως φαίνεται παρακάτω:

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

print#

Εμφανίζει κείμενο, αριθμούς ή λογικές τιμές στην οθόνη V5 Brain.

Available Functions

1 — Εκτυπώνει μορφοποιημένο κείμενο χρησιμοποιώντας κυριολεκτικές συμβολοσειρές ή συμβολοσειρές τύπου C μόνο για ανάγνωση.

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

2 — Εκτυπώνει μορφοποιημένο κείμενο χρησιμοποιώντας τροποποιήσιμους πίνακες χαρακτήρων.

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

Parameters

Παράμετρος

Τύπος

Περιγραφή

format

const char*

Μια συμβολοσειρά μορφοποίησης που παρέχεται ως κυριολεκτική συμβολοσειρά ή συμβολοσειρά τύπου C μόνο για ανάγνωση (για παράδειγμα, “Score: %d”).

format

char*

Μια συμβολοσειρά μορφοποίησης που παρέχεται ως τροποποιήσιμος πίνακας χαρακτήρων.

…

Μία ή περισσότερες πρόσθετες τιμές που εισάγονται στη συμβολοσειρά μορφοποίησης, διαχωρισμένες με κόμματα.

Return Values

Αυτή η συνάρτηση δεν επιστρέφει τιμή.

Notes
  • Η έξοδος ξεκινά από την τρέχουσα θέση του κέρσορα στην οθόνη, η οποία .

  • Το τυπωμένο κείμενο χρησιμοποιεί την τρέχουσα γραμματοσειρά οθόνης .

  • Το εκτυπωμένο κείμενο χρησιμοποιεί το τρέχον χρώμα πένας .

  • Το κείμενο που εκτυπώνεται με εκτύπωση εκτυπώνεται πάντα με φόντο και το χρώμα φόντου καθορίζεται από το τρέχον χρώμα γεμίσματος .

  • Όταν χρησιμοποιείτε μια συμβολοσειρά μορφοποίησης, ο αριθμός και οι τύποι των τιμών που διαβιβάζονται πρέπει να ταιριάζουν με τους προσδιοριστές μορφής στη συμβολοσειρά.

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

Ένα στιγμιότυπο οθόνης του εγκεφάλου V5 που δείχνει την ένδειξη Hello, Robot! τυπωμένη στην οθόνη στην επάνω αριστερή γωνία με λευκό κείμενο.

setCursor#

Μετακινεί τον κέρσορα σε μια συγκεκριμένη γραμμή και στήλη στην οθόνη V5 Brain. Η επόμενη κλήση print θα ξεκινήσει την εκτύπωση σε αυτήν την τοποθεσία.

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

Parameters

Παράμετρος

Τύπος

Περιγραφή

row

int32_t

Η γραμμή στην οποία θα μετακινηθεί ο κέρσορας.

col

int32_t

Η στήλη στην οποία θα μετακινηθεί ο κέρσορας.

Return Values

Αυτή η συνάρτηση δεν επιστρέφει τιμή.

Notes
  • Επηρεάζει την έναρξη της επακόλουθης εξόδου κειμένου όταν χρησιμοποιείται εκτύπωση.

  • Οι γραμμές και οι στήλες βασίζονται στην τρέχουσα γραμματοσειρά οθόνης.

  • Η προεπιλεγμένη γραμματοσειρά (mono20) χρησιμοποιεί 12 γραμμές και 48 στήλες.

  • Η κλήση του setCursor επηρεάζει μόνο τη θέση του επόμενου κειμένου που εμφανίζεται.

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

Ένα στιγμιότυπο οθόνης του εγκεφάλου V5 που δείχνει τη Γραμμή 3, Στήλη 12, τυπωμένη στο επάνω μέρος κοντά στο κέντρο της οθόνης, σε αυτήν τη θέση.

newLine#

Μετακινεί τον κέρσορα στην αρχή της επόμενης γραμμής στην οθόνη Brain.

Available Functions
void newLine();

Parameters

Αυτή η συνάρτηση δεν δέχεται καμία παράμετρο.

Return Values

Αυτή η συνάρτηση δεν επιστρέφει τιμή.

Notes
  • Εάν ο δρομέας βρίσκεται στη μέση μιας πρότασης, η εντολή newLine θα διαγράψει την υπόλοιπη γραμμή μετά τον δρομέα πριν μετακινηθεί στην επόμενη γραμμή.

  • Μετά την κλήση της εντολής newLine, ο κέρσορας τοποθετείται στην πρώτη στήλη της επόμενης γραμμής.

  • Η θέση του δρομέα και η αρίθμηση γραμμών ορίζονται χρησιμοποιώντας setCursor.

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

Ένα στιγμιότυπο οθόνης της οθόνης V5 Brain που δείχνει δύο γραμμές λευκού κειμένου στην επάνω αριστερή γωνία. Η επάνω γραμμή αναφέρει Γραμμή 1 και η δεύτερη γραμμή ακριβώς από κάτω αναφέρει Γραμμή 2.

clearLine#

Διαγράφει κείμενο από μια σειρά στην οθόνη V5 Brain.

Available Functions

1 — Διαγράφει το υπόλοιπο της τρέχουσας γραμμής από τη θέση του κέρσορα.

void clearLine();

2 — Διαγράφει την καθορισμένη γραμμή χρησιμοποιώντας το τρέχον διαμορφωμένο χρώμα γεμίσματος.

void clearLine(
    int number );

3 — Διαγράφει την καθορισμένη γραμμή χρησιμοποιώντας ένα προκαθορισμένο ή προσαρμοσμένο χρώμα αντικείμενο.

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

4 — Διαγράφει την καθορισμένη γραμμή χρησιμοποιώντας μια δεκαεξαδική τιμή χρώματος.

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

5 — Διαγράφει την καθορισμένη γραμμή χρησιμοποιώντας μια τιμή απόχρωσης.

void clearLine(
    int number,
    int hue );

Parameters

Παράμετρος

Τύπος

Περιγραφή

number

int

Ο αριθμός γραμμής που θα διαγραφεί. Η αρίθμηση γραμμών ξεκινά από 1.

color

const color&

Καθαρίζει τη γραμμή χρησιμοποιώντας ένα αντικείμενο χρώματος Τα προκαθορισμένα χρώματα περιλαμβάνουν:

  • μαύρο
  • λευκό
  • κόκκινο
  • πράσινο
  • μπλε
  • κίτρινο
  • πορτοκαλί
  • κυανό
  • διαφανές
Αυτό μπορεί επίσης να χρησιμοποιήσει ένα αντικείμενο προσαρμοσμένου χρώματος.

color

const char*

Καθαρίζει τη γραμμή χρησιμοποιώντας μια δεκαεξαδική τιμή χρώματος (για παράδειγμα, “#000000”).

hue

int

Καθαρίζει τη γραμμή χρησιμοποιώντας μια ακέραια τιμή απόχρωσης στην περιοχή 0–359, που αντιπροσωπεύει μοίρες γύρω από έναν χρωματικό τροχό.

Return Values

Αυτή η συνάρτηση δεν επιστρέφει τιμή.

Notes
  • Η διαγραφή μιας γραμμής δεν αλλάζει την τρέχουσα θέση του κέρσορα.

  • Η θέση του δρομέα και η αρίθμηση γραμμών ορίζονται χρησιμοποιώντας setCursor.

  • Η τιμή της παραμέτρου απόχρωση βασίζεται σε έναν κυκλικό χρωματικό τροχό, όπως φαίνεται παρακάτω, όπου οι τιμές αντιπροσωπεύουν μοίρες γύρω από τον τροχό (για παράδειγμα, κόκκινο κοντά στις 0°, πράσινο κοντά στις 120° και μπλε κοντά στις 240°).

Ένας χρωματικός κύκλος που δείχνει το εύρος των χρωμάτων από 0 έως 359, όπου το κόκκινο είναι 0, το πράσινο είναι 120 και το μπλε είναι 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#

Επιστρέφει τη γραμμή όπου θα εκτυπωθεί το κείμενο στην οθόνη V5 Brain.

Available Functions
int32_t row();

Parameters

Αυτή η συνάρτηση δεν δέχεται καμία παράμετρο.

Return Values

Επιστρέφει μια τιμή int32_t που αντιπροσωπεύει τη γραμμή όπου θα εκτυπωθεί το κείμενο.

Η αρίθμηση γραμμών ξεκινά από το 1.

Notes
  • Η θέση του κέρσορα βασίζεται στην τρέχουσα γραμματοσειρά οθόνης .

  • Η επιστρεφόμενη τιμή υποδεικνύει πού θα εμφανιστεί η επόμενη εκτυπωμένη έξοδος.

  • Η τιμή της γραμμής αλλάζει όταν εκτυπώνεται κείμενο ή όταν καλείται η συνάρτηση setCursor.

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

Ένα στιγμιότυπο οθόνης της οθόνης V5 Brain που δείχνει το κείμενο 3 με λευκό χρώμα στο επάνω αριστερό τεταρτημόριο της οθόνης, στη θέση 12 της στήλης 3 της σειράς 3.

column#

Επιστρέφει τη στήλη όπου θα εκτυπωθεί το κείμενο στην οθόνη V5 Brain.

Available Functions
int32_t column();

Parameters

Αυτή η συνάρτηση δεν δέχεται καμία παράμετρο.

Return Values

Επιστρέφει μια τιμή int32_t που αντιπροσωπεύει τη στήλη όπου θα εκτυπωθεί το κείμενο.

Η αρίθμηση στηλών ξεκινά από το 1.

Notes
  • Η θέση του κέρσορα βασίζεται στην τρέχουσα γραμματοσειρά οθόνης .

  • Η επιστρεφόμενη τιμή υποδεικνύει πού θα εμφανιστεί η επόμενη εκτυπωμένη έξοδος.

  • Η τιμή της στήλης αλλάζει όταν εκτυπώνεται κείμενο ή όταν καλείται η συνάρτηση setCursor.

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

Ένα στιγμιότυπο οθόνης της οθόνης V5 Brain που δείχνει το κείμενο 15 με λευκό χρώμα στο επάνω αριστερό τεταρτημόριο της οθόνης, στη θέση 15 της στήλης 3 της σειράς 3.

getStringHeight#

Επιστρέφει το ύψος, σε pixel, μιας συμβολοσειράς όταν αποδίδεται στην οθόνη V5 Brain.

Available Functions
int32_t getStringHeight( 
    const char* cstr );

Parameters

Παράμετρος

Τύπος

Περιγραφή

cstr

const char*

Το κείμενο που θα μετρηθεί, παρέχεται ως συμβολοσειρά τύπου C (για παράδειγμα, “Γεια”).

Return Values

Επιστρέφει μια τιμή int32_t που αντιπροσωπεύει το ύψος της συμβολοσειράς σε pixel όταν αποδίδεται στην οθόνη Brain.

Notes
  • Το επιστρεφόμενο ύψος εξαρτάται από την τρέχουσα επιλεγμένη γραμματοσειρά οθόνης .

  • Αυτή η συνάρτηση μετρά τη συμβολοσειρά χωρίς να την απεικονίζει στην οθόνη.

  • Το επιστρεφόμενο ύψος αντικατοπτρίζει τον τρόπο με τον οποίο θα εμφανιζόταν η συμβολοσειρά κατά την εκτύπωση.

getStringWidth#

Επιστρέφει το πλάτος, σε pixel, μιας συμβολοσειράς όταν αποδίδεται στην οθόνη V5 Brain.

Available Functions
int32_t getStringWidth( 
    const char* cstr );

Parameters

Παράμετρος

Τύπος

Περιγραφή

cstr

const char*

Το κείμενο που θα μετρηθεί, παρέχεται ως συμβολοσειρά τύπου C (για παράδειγμα, “Γεια”).

Return Values

Επιστρέφει μια τιμή int32_t που αντιπροσωπεύει το πλάτος της συμβολοσειράς σε pixel όταν αποδίδεται στην οθόνη Brain.

Notes

printAt#

Εκτυπώνει κείμενο, αριθμούς ή λογικές τιμές σε μια συγκεκριμένη συντεταγμένη στην οθόνη V5 Brain.

Available Functions

1 — Εκτυπώνει τη μορφοποιημένη έξοδο στην καθορισμένη θέση pixel.

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

2 — Εκτυπώνει τη μορφοποιημένη έξοδο στην καθορισμένη θέση pixel και ορίζει εάν το φόντο κειμένου είναι αδιαφανές ή διαφανές.

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

Parameters

Παράμετρος

Τύπος

Περιγραφή

x

int32_t

Η θέση x για εκτύπωση, με αναφορά στην αρχή της οθόνης.

y

int32_t

Η θέση y για εκτύπωση, με αναφορά στην αρχή της οθόνης.

bOpaque

bool

Ελέγχει εάν το εκτυπωμένο κείμενο σχεδιάζεται αδιαφανώς ή διαφανώς:

  • true — Το φόντο του εκτυπωμένου κειμένου γεμίζεται χρησιμοποιώντας το τρέχον χρώμα γεμίσματος.
  • false — Το κείμενο σχεδιάζεται διαφανώς και το φόντο δεν γεμίζεται.

format

const char*

Μια συμβολοσειρά μορφοποίησης που ελέγχει τι εκτυπώνεται στην οθόνη (για παράδειγμα, “Βαθμολογία: %d”).

…

Μία ή περισσότερες πρόσθετες τιμές που εισάγονται στη συμβολοσειρά μορφοποίησης, διαχωρισμένες με κόμματα.

Return Values

Αυτή η συνάρτηση δεν επιστρέφει τιμή.

Notes
  • Οι συντεταγμένες x και y είναι σχετικές με την τρέχουσα αρχή της οθόνης, η οποία μπορεί να αλλάξει χρησιμοποιώντας#setorigin

  • Το τυπωμένο κείμενο χρησιμοποιεί την τρέχουσα γραμματοσειρά οθόνης .

  • Το εκτυπωμένο κείμενο χρησιμοποιεί το τρέχον χρώμα πένας .

  • Όταν χρησιμοποιείτε μια συμβολοσειρά μορφοποίησης, ο αριθμός και οι τύποι των τιμών που διαβιβάζονται πρέπει να ταιριάζουν με τους προσδιοριστές μορφής στη συμβολοσειρά.

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

Ένα στιγμιότυπο οθόνης της οθόνης V5 Brain με λευκό κείμενο που γράφει Κέντρο, κεντραρισμένο στην οθόνη.

clearScreen#

Διαγράφει όλα τα σχέδια και το κείμενο από την οθόνη Brain και επαναφέρει τη θέση του κέρσορα στη γραμμή 1, στήλη 1.

Available Functions

1 — Μαυρίζει την οθόνη.

void clearScreen();

2 — Καθαρίζει την οθόνη χρησιμοποιώντας ένα προκαθορισμένο ή προσαρμοσμένο χρώμα αντικείμενο.

void clearScreen(
    const color& color );

3 — Καθαρίζει την οθόνη χρησιμοποιώντας μια δεκαεξαδική τιμή χρώματος.

void clearScreen(
    const char* color );

4 — Καθαρίζει την οθόνη χρησιμοποιώντας μια τιμή απόχρωσης.

void clearScreen(
    int hue );

Parameters

Παράμετρος

Τύπος

Περιγραφή

color

const color&

Καθαρίζει την οθόνη χρησιμοποιώντας ένα αντικείμενο χρώματος Τα προκαθορισμένα χρώματα περιλαμβάνουν:

  • μαύρο
  • λευκό
  • πράσινο
  • μπλε
  • κίτρινο
  • πορτοκαλί
  • κυανό
  • διαφανές
Αυτό μπορεί επίσης να χρησιμοποιήσει ένα αντικείμενο προσαρμοσμένου χρώματος.

color

const char*

Καθαρίζει την οθόνη χρησιμοποιώντας μια δεκαεξαδική τιμή χρώματος που αναπαρίσταται ως συμβολοσειρά (για παράδειγμα, “#000000”).

hue

int

Καθαρίζει την οθόνη χρησιμοποιώντας μια ακέραια τιμή απόχρωσης στην περιοχή 0–359, που αντιπροσωπεύει μοίρες γύρω από έναν χρωματικό κύκλο.

Return Values

Αυτή η συνάρτηση δεν επιστρέφει τιμή.

Notes
  • Η τιμή της παραμέτρου απόχρωση βασίζεται σε έναν κυκλικό χρωματικό τροχό, όπως φαίνεται παρακάτω, όπου οι τιμές αντιπροσωπεύουν μοίρες γύρω από τον τροχό (για παράδειγμα, κόκκινο κοντά στις 0°, πράσινο κοντά στις 120° και μπλε κοντά στις 240°).

Ένας χρωματικός κύκλος που δείχνει το εύρος των χρωμάτων από 0 έως 359, όπου το κόκκινο είναι 0, το πράσινο είναι 120 και το μπλε είναι 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 με ολόκληρη την εκτυπώσιμη περιοχή σε έντονο μπλε χρώμα.

setFont#

Ορίζει τη γραμματοσειρά που χρησιμοποιείται για το κείμενο που εμφανίζεται στην οθόνη V5 Brain.

Αυτό ελέγχει τη γραμματοσειρά που εφαρμόζεται στην επακόλουθη έξοδο κειμένου όταν χρησιμοποιούνται συναρτήσεις κειμένου οθόνης όπως εκτύπωση.

Available Functions
void setFont(
  fontType font );

Parameters

Παράμετρος

Τύπος

Περιγραφή

font

fontType

Ορίζει τη γραμματοσειρά σε μία από τις ακόλουθες ρυθμίσεις:

  • mono12
  • mono15
  • mono20
  • mono30
  • mono40
  • mono60
  • prop20
  • prop30
  • prop40
  • prop60
  • fontType::cjk16 — Μπορεί να εκτυπώσει κινεζικούς, ιαπωνικούς και κορεατικούς χαρακτήρες.
    • Απλοποιημένα Κινέζικα — Εμφανίζονται έως τη στήλη 28.
    • Παραδοσιακά Κινέζικα — Εμφανίζονται έως τη στήλη 28.
    • Ιαπωνικά (Kanji) — Εμφανίζονται έως τη στήλη 28.
    • Κορεατικά (Hangul) — Εμφανίζονται έως τη στήλη 30.
Αυτές οι επιλογές εμφανίζονται παρακάτω.

Στιγμιότυπο οθόνης TA της οθόνης V5 Brain με αριθμούς και γράμματα τυπωμένα με λευκό χρώμα στην επάνω αριστερή γωνία με γραμματοσειρά MONO 12. Εμφανίζει το AZ σε μία γραμμή, περίπου στο ένα τέταρτο του πλάτους της οθόνης. Στην κάτω αριστερή γωνία διαβάζει 80 στήλες και 20 γραμμές.
mono12

Η ίδια εικόνα με την προηγούμενη, με γραμματοσειρά Mono 15. Εμφανίζει το AZ σε μία γραμμή, σχεδόν στο μισό πλάτος της οθόνης. Στην κάτω αριστερή γωνία διαβάζει 68 στήλες και 16 γραμμές.
mono15

Η ίδια εικόνα με την προηγούμενη, με γραμματοσειρά Mono 20. Εμφανίζεται το AZ σε μία γραμμή, σχεδόν στα δύο τρίτα του πλάτους της οθόνης. Στην κάτω αριστερή γωνία εμφανίζονται 48 στήλες και 12 γραμμές.
mono20

Η ίδια εικόνα με την προηγούμενη, με γραμματοσειρά Mono 30. Εμφανίζει το AZ σε μία γραμμή, σχεδόν σε όλο το πλάτος της οθόνης. Στην κάτω αριστερή γωνία διαβάζει 32 στήλες και 8 γραμμές.
mono30

Η ίδια εικόνα με την προηγούμενη, με γραμματοσειρά Mono 40. Δείχνει AX σε μία γραμμή, που εκτείνεται σε όλο το πλάτος της οθόνης. Στην κάτω αριστερή γωνία διαβάζει 24 στήλες και 6 γραμμές.
mono40

Η ίδια εικόνα με την προηγούμενη, με γραμματοσειρά Mono 60. Εμφανίζει το AP σε μία γραμμή, που εκτείνεται σε όλο το πλάτος της οθόνης. Στο κάτω μέρος υποδεικνύει 16 στήλες και 4 γραμμές.
mono60

Η ίδια εικόνα με την προηγούμενη, με γραμματοσειρά Prop 20. Εμφανίζει το AZ σε μία γραμμή, σχεδόν στα δύο τρίτα του πλάτους της οθόνης. Στην κάτω αριστερή γωνία διαβάζει 48 στήλες και 12 γραμμές.
prop20

Η ίδια εικόνα με την προηγούμενη, με γραμματοσειρά Prop 30. Εμφανίζει το AZ σε μία γραμμή, που εκτείνεται σχεδόν σε όλο το πλάτος της οθόνης. Στην κάτω αριστερή γωνία διαβάζει 32 στήλες και 8 γραμμές.
prop30

Η ίδια εικόνα με την προηγούμενη, με γραμματοσειρά Prop 40. Εμφανίζει AU σε μία γραμμή, που εκτείνεται σε όλο το πλάτος της οθόνης. Στην κάτω αριστερή γωνία διαβάζει 24 στήλες και 6 γραμμές.
prop40

Η ίδια εικόνα με την προηγούμενη, με γραμματοσειρά Prop 60. Δείχνει AN σε μία γραμμή, που εκτείνεται σε όλο το πλάτος της οθόνης. Στο κάτω μέρος διαβάζει 15 στήλες και 4 γραμμές.
prop60

Η ίδια εικόνα με την προηγούμενη, με γραμματοσειρά CJK 16. Εμφανίζει το AZ σε μία γραμμή, που εκτείνεται περίπου στα δύο τρίτα της οθόνης. Οι επόμενες γραμμές διαβάζουν VEXcode σε απλοποιημένα κινέζικα, παραδοσιακά κινέζικα, κορεατικά και ιαπωνικά. Στο κάτω μέρος διαβάζει 43 στήλες και 12 γραμμές.
fontType::cjk16

Return Values

Αυτή η συνάρτηση δεν επιστρέφει τιμή.

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

Ένα στιγμιότυπο οθόνης της οθόνης V5 Brain που δείχνει λευκό κείμενο που διαβάζει VEX σε μεγαλύτερη γραμματοσειρά από την προεπιλεγμένη, στην επάνω αριστερή γωνία.


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

Ένα στιγμιότυπο οθόνης της οθόνης του V5 Brain που δείχνει το κείμενο "VEX机器人" σε κινεζική γραμματοσειρά στην επάνω αριστερή γωνία.

setPenWidth#

Ορίζει το πάχος των γραμμών που σχεδιάζονται και των περιγραμμάτων σχήματος.

Available Functions
void setPenWidth(
  uint32_t width );

Parameters

Παράμετρος

Τύπος

Περιγραφή

width

uint32_t

Το πλάτος της πένας, σε pixel, κυμαίνεται από 0 έως 32.

Return Values

Αυτή η συνάρτηση δεν επιστρέφει τιμή.

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

Ένα στιγμιότυπο οθόνης της οθόνης V5 Brain που δείχνει ένα ορθογώνιο με παχιά περιγράμματα τυπωμένα στο επάνω αριστερό τεταρτημόριο της οθόνης.

setPenColor#

Ορίζει το χρώμα κειμένου, pixel, γραμμών και περιγραμμάτων σχήματος.

Available Functions

1 — Ορίζει το χρώμα της πένας χρησιμοποιώντας ένα προκαθορισμένο ή προσαρμοσμένο χρώμα αντικείμενο.

void setPenColor(
    const color& color );

2 — Ορίζει το χρώμα της πένας χρησιμοποιώντας μια δεκαεξαδική τιμή χρώματος.

void setPenColor(
    const char* color );

3 — Ορίζει το χρώμα της πένας χρησιμοποιώντας μια τιμή απόχρωσης.

void setPenColor(
    int hue );

Parameters

Παράμετρος

Τύπος

Περιγραφή

color

const color&

Ορίζει το χρώμα της πένας χρησιμοποιώντας ένα αντικείμενο χρώματος Τα προκαθορισμένα χρώματα περιλαμβάνουν:

  • μαύρο
  • λευκό
  • κόκκινο
  • πράσινο
  • μπλε
  • κίτρινο
  • πορτοκαλί
  • μωβ
  • κυανό
  • διαφανές

color

const char*

Ορίζει το χρώμα της πένας χρησιμοποιώντας μια δεκαεξαδική τιμή χρώματος που αναπαρίσταται ως συμβολοσειρά (για παράδειγμα, “#FF0000”).

hue

int

Ορίζει το χρώμα της πένας χρησιμοποιώντας μια ακέραια τιμή απόχρωσης στην περιοχή 0–359, που αντιπροσωπεύει μοίρες γύρω από έναν χρωματικό κύκλο (για παράδειγμα, 0 είναι κόκκινο, 120 είναι πράσινο και 240 είναι μπλε).

Return Values

Αυτή η συνάρτηση δεν επιστρέφει τιμή.

Notes
  • Το προεπιλεγμένο χρώμα πένας στην αρχή ενός έργου είναι λευκό.

  • Το χρώμα της πένας χρησιμοποιείται για περιγράμματα σχημάτων (όπως με drawCircle ή drawRectangle), κείμενο και αριθμητική έξοδο (με print και printAt), και μεμονωμένα pixel που σχεδιάζονται με drawPixel.

  • Η τιμή της παραμέτρου απόχρωση βασίζεται σε έναν κυκλικό χρωματικό τροχό, όπως φαίνεται παρακάτω, όπου οι τιμές αντιπροσωπεύουν μοίρες γύρω από τον τροχό (για παράδειγμα, κόκκινο κοντά στις 0°, πράσινο κοντά στις 120° και μπλε κοντά στις 240°).

Ένας χρωματικός κύκλος που δείχνει το εύρος των χρωμάτων από 0 έως 359, όπου το κόκκινο είναι 0, το πράσινο είναι 120 και το μπλε είναι 240.

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

Ένα στιγμιότυπο οθόνης της οθόνης V5 Brain που δείχνει ένα ορθογώνιο σχεδιασμένο με πορτοκαλί χρώμα στο επάνω αριστερό τεταρτημόριο της οθόνης.

setFillColor#

Ορίζει το χρώμα γεμίσματος που χρησιμοποιείται κατά τη σχεδίαση σχημάτων.

Available Functions

1 — Ορίζει το χρώμα γεμίσματος χρησιμοποιώντας ένα προκαθορισμένο ή προσαρμοσμένο χρώμα αντικείμενο.

void setFillColor(
    const color& color );

2 — Ορίζει το χρώμα γεμίσματος χρησιμοποιώντας μια δεκαεξαδική τιμή χρώματος.

void setFillColor(
    const char* color );

3 — Ορίζει το χρώμα γεμίσματος χρησιμοποιώντας μια τιμή απόχρωσης.

void setFillColor(
    int hue );

Parameters

Παράμετρος

Τύπος

Περιγραφή

color

const color&

Ορίζει το χρώμα γεμίσματος χρησιμοποιώντας ένα αντικείμενο χρώματος Τα προκαθορισμένα χρώματα περιλαμβάνουν:

  • μαύρο
  • λευκό
  • κόκκινο
  • πράσινο
  • μπλε
  • κίτρινο
  • πορτοκαλί
  • μωβ
  • κυανό
  • διαφανές

color

const char*

Ορίζει το χρώμα γεμίσματος χρησιμοποιώντας μια δεκαεξαδική τιμή χρώματος που αναπαρίσταται ως συμβολοσειρά (για παράδειγμα, “#00FF00”).

hue

int

Ορίζει το χρώμα γεμίσματος χρησιμοποιώντας μια ακέραια τιμή απόχρωσης στην περιοχή 0–359, που αντιπροσωπεύει μοίρες γύρω από έναν χρωματικό κύκλο (για παράδειγμα, 0 είναι κόκκινο, 120 είναι πράσινο και 240 είναι μπλε).

Return Values

Αυτή η συνάρτηση δεν επιστρέφει τιμή.

Notes
  • Το προεπιλεγμένο χρώμα γεμίσματος στην αρχή ενός έργου είναι μαύρο.

  • Το χρώμα γεμίσματος χρησιμοποιείται για το εσωτερικό των σχημάτων (όπως με drawCircle ή drawRectangle).

  • Το χρώμα γεμίσματος χρησιμοποιείται ως χρώμα φόντου για εκτυπωμένο κείμενο (όπως με τις συναρτήσεις print και printAt).

    • Εάν χρησιμοποιηθεί διαφανές με τυπωμένο κείμενο, το φόντο θα είναι μαύρο.

  • Η τιμή της παραμέτρου απόχρωση βασίζεται σε έναν κυκλικό χρωματικό τροχό, όπως φαίνεται παρακάτω, όπου οι τιμές αντιπροσωπεύουν μοίρες γύρω από τον τροχό (για παράδειγμα, κόκκινο κοντά στις 0°, πράσινο κοντά στις 120° και μπλε κοντά στις 240°).

Ένας χρωματικός κύκλος που δείχνει το εύρος των χρωμάτων από 0 έως 359, όπου το κόκκινο είναι 0, το πράσινο είναι 120 και το μπλε είναι 240.

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

Ένα στιγμιότυπο οθόνης της οθόνης V5 Brain που δείχνει ένα ορθογώνιο γεμάτο με μωβ στο κάτω αριστερό τεταρτημόριο της οθόνης.

setOrigin#

Ορίζει την αρχή που χρησιμοποιείται για το σχέδιο και την εκτύπωση με βάση τις συντεταγμένες στην οθόνη Brain.

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

Parameters

Παράμετρος

Τύπος

Περιγραφή

x

int32_t

Η θέση x της αρχής των αξόνων σε σχέση με την επάνω αριστερή γωνία της οθόνης Brain από 0 έως 479.

y

int32_t

Η θέση y της αρχής των αξόνων σε σχέση με την επάνω αριστερή γωνία της οθόνης Brain από 0 έως 239.

Return Values

Αυτή η συνάρτηση δεν επιστρέφει τιμή.

Notes
  • Η προεπιλεγμένη αρχή είναι η επάνω αριστερή γωνία της οθόνης στη συντεταγμένη (0, 0).

  • Η αρχή των αξόνων ισχύει για συναρτήσεις συντεταγμένων όπως drawLine, drawRectangle, drawCircle και printAt.

  • Η προέλευση παραμένει σε ισχύ μέχρι να αλλάξει ξανά ή να γίνει επαναφορά του έργου.

setClipRegion#

Ορίζει μια ορθογώνια περιοχή στην οθόνη όπου θα περιορίζονται όλα τα σχέδια και το κείμενο. Δεν θα εμφανίζεται κανένα περιεχόμενο εκτός αυτής της περιοχής.

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

Parameters

Παράμετρος

Τύπος

Περιγραφή

x

int

Η συντεταγμένη x της επάνω αριστερής γωνίας της περιοχής αποκοπής, που δίνεται ως ακέραιος αριθμός από 0 έως 479.

y

int

Η συντεταγμένη y της επάνω αριστερής γωνίας της περιοχής αποκοπής, που δίνεται ως ακέραιος αριθμός από 0 έως 239.

width

int

Το πλάτος της περιοχής κλιπ σε pixel, που δίνεται ως ακέραιος αριθμός από 0 έως 479.

height

int

Το ύψος της περιοχής κλιπ σε pixel, που δίνεται ως ακέραιος αριθμός από 0 έως 239.

Return Values

Αυτή η συνάρτηση δεν επιστρέφει τιμή.

Notes
  • Οι συναρτήσεις σχεδίασης εξακολουθούν να εκτελούνται ακόμη και αν βρίσκονται εκτός της περιοχής κλιπ, αλλά μόνο το τμήμα εντός της περιοχής είναι ορατό.

  • Οι συντεταγμένες x και y είναι σχετικές με την τρέχουσα αρχή της οθόνης, η οποία μπορεί να αλλάξει χρησιμοποιώντας#setorigin

  • Η περιοχή αποκοπής ισχύει μόνο για το τρέχον νήμα.

  • Ο ορισμός μιας νέας περιοχής κλιπ αντικαθιστά οποιαδήποτε προηγουμένως ορισμένη περιοχή κλιπ για το τρέχον νήμα.

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 με λευκό κείμενο που γράφει "Cut of" με ένα συμπαγές κόκκινο τετράγωνο ακριβώς από κάτω στο επάνω αριστερό τεταρτημόριο, που αντικατοπτρίζει τι είναι τυπωμένο μέσα στην περιοχή του κλιπ.

drawPixel#

Σχεδιάζει ένα pixel στην οθόνη V5 Brain στην επιλεγμένη θέση pixel x και y.

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

Parameters

Παράμετρος

Τύπος

Περιγραφή

x

int

Η συντεταγμένη x όπου θα σχεδιαστεί το εικονοστοιχείο, η οποία δίνεται ως ακέραιος αριθμός από 0 έως 479.

y

int

Η συντεταγμένη y όπου θα σχεδιαστεί το εικονοστοιχείο, η οποία δίνεται ως ακέραιος αριθμός από 0 έως 239.

Return Values

Αυτή η συνάρτηση δεν επιστρέφει τιμή.

Notes
  • Τα pixel σχεδιάζονται χρησιμοποιώντας το τρέχον χρώμα πένας που έχει οριστεί με setPenColor.

  • Οι συντεταγμένες x και y είναι σχετικές με την τρέχουσα αρχή της οθόνης, η οποία μπορεί να οριστεί χρησιμοποιώντας#setorigin

  • Εάν η καθορισμένη θέση του pixel βρίσκεται εκτός των ορίων της οθόνης, το pixel δεν σχεδιάζεται.

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 που δείχνει μια συλλογή από pixel που δείχνουν τις γωνίες ενός τετραγώνου κοντά στο κέντρο της οθόνης.

drawLine#

Σχεδιάζει μια ευθεία γραμμή που συνδέει δύο σημεία στην οθόνη V5 Brain.

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

Parameters

Παράμετρος

Τύπος

Περιγραφή

x1

int

Η αρχική συντεταγμένη x της γραμμής, που δίνεται ως ακέραιος αριθμός από 0 έως 479.

y1

int

Η αρχική συντεταγμένη y της γραμμής, που δίνεται ως ακέραιος αριθμός από 0 έως 239.

x2

int

Η τελική συντεταγμένη x της γραμμής, που δίνεται ως ακέραιος αριθμός από 0 έως 479.

y2

int

Η τελική συντεταγμένη y της γραμμής, η οποία δίνεται ως ακέραιος αριθμός από 0 έως 239.

Return Values

Αυτή η συνάρτηση δεν επιστρέφει τιμή.

Notes
  • Οι γραμμές σχεδιάζονται χρησιμοποιώντας το τρέχον χρώμα πένας που έχει οριστεί με setPenColor.

  • Το πλάτος της γραμμής καθορίζεται από το τρέχον πλάτος πένας που έχει οριστεί με setPenWidth.

  • Οι συντεταγμένες x και y είναι σχετικές με την τρέχουσα αρχή της οθόνης, η οποία μπορεί να οριστεί χρησιμοποιώντας#setorigin

  • Εάν οποιοδήποτε τμήμα της γραμμής βρίσκεται εκτός των ορίων της οθόνης, σχεδιάζεται μόνο το ορατό τμήμα.

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

Ένα στιγμιότυπο οθόνης της οθόνης V5 Brain δείχνει μια λεπτή διαγώνια γραμμή στο κέντρο, από την επάνω αριστερή γωνία έως την κάτω δεξιά γωνία.

drawRectangle#

Σχεδιάζει ένα ορθογώνιο στην οθόνη V5 Brain στην καθορισμένη θέση και μέγεθος.

Available Functions

1 — Σχεδιάζει και γεμίζει ένα ορθογώνιο χρησιμοποιώντας το τρέχον διαμορφωμένο χρώμα γεμίσματος.

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

2 — Σχεδιάζει και γεμίζει ένα ορθογώνιο χρησιμοποιώντας ένα προκαθορισμένο ή προσαρμοσμένο χρώμα αντικείμενο.

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

3 — Σχεδιάζει και γεμίζει ένα ορθογώνιο χρησιμοποιώντας μια δεκαεξαδική τιμή χρώματος.

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

4 — Σχεδιάζει και γεμίζει ένα ορθογώνιο χρησιμοποιώντας μια τιμή απόχρωσης.

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

Parameters

Παράμετρος

Τύπος

Περιγραφή

x

int

Η συντεταγμένη x της επάνω αριστερής γωνίας του ορθογωνίου, που δίνεται ως ακέραιος αριθμός από 0 έως 479.

y

int

Η συντεταγμένη y της επάνω αριστερής γωνίας του ορθογωνίου, που δίνεται ως ακέραιος αριθμός από 0 έως 239.

width

int

Το πλάτος του ορθογωνίου, που δίνεται ως ακέραιος αριθμός από 0 έως 479.

height

int

Το ύψος του ορθογωνίου, που δίνεται ως ακέραιος αριθμός από 0 έως 239.

color

const color&

Γεμίζει το ορθογώνιο χρησιμοποιώντας ένα αντικείμενο χρώματος Τα προκαθορισμένα χρώματα περιλαμβάνουν:

  • μαύρο
  • λευκό
  • πράσινο
  • μπλε
  • κίτρινο
  • πορτοκαλί
  • κυανό
  • διαφανές
Αυτό μπορεί επίσης να χρησιμοποιήσει ένα αντικείμενο προσαρμοσμένου χρώματος.

color

const char*

Γεμίζει το ορθογώνιο χρησιμοποιώντας μια δεκαεξαδική τιμή χρώματος (για παράδειγμα, “#FF0000”).

hue

int

Γεμίζει το ορθογώνιο χρησιμοποιώντας μια τιμή απόχρωσης στην περιοχή 0–359.

Return Values

Αυτή η συνάρτηση δεν επιστρέφει τιμή.

Notes
  • Το περίγραμμα του ορθογωνίου σχεδιάζεται χρησιμοποιώντας το τρέχον χρώμα πένας που έχει οριστεί με setPenColor.

  • Το πάχος του περιγράμματος καθορίζεται από το τρέχον πλάτος πένας που έχει οριστεί με setPenWidth.

  • Όταν δεν παρέχεται παράμετρος χρώματος , το εσωτερικό του ορθογωνίου γεμίζεται χρησιμοποιώντας το τρέχον χρώμα γεμίσματος που έχει οριστεί με setFillColor.

  • Οι συντεταγμένες x και y είναι σχετικές με την τρέχουσα αρχή της οθόνης, η οποία μπορεί να αλλάξει χρησιμοποιώντας#setorigin

  • Εάν οποιοδήποτε τμήμα του ορθογωνίου βρίσκεται εκτός των ορίων της οθόνης, σχεδιάζεται μόνο το ορατό τμήμα.

  • Η τιμή της παραμέτρου απόχρωση βασίζεται σε έναν κυκλικό χρωματικό τροχό, όπως φαίνεται παρακάτω, όπου οι τιμές αντιπροσωπεύουν μοίρες γύρω από τον τροχό (για παράδειγμα, κόκκινο κοντά στις 0°, πράσινο κοντά στις 120° και μπλε κοντά στις 240°).

Ένας χρωματικός κύκλος που δείχνει το εύρος των χρωμάτων από 0 έως 359, όπου το κόκκινο είναι 0, το πράσινο είναι 120 και το μπλε είναι 240.

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

Ένα στιγμιότυπο οθόνης της οθόνης του V5 Brain δείχνει ένα ορθογώνιο με ένα λεπτό λευκό περίγραμμα τυπωμένο στο επάνω αριστερό τεταρτημόριο.

drawCircle#

Σχεδιάζει έναν κύκλο στην οθόνη V5 Brain στην καθορισμένη θέση και ακτίνα.

Available Functions

1 — Σχεδιάζει και γεμίζει έναν κύκλο χρησιμοποιώντας το τρέχον διαμορφωμένο χρώμα γεμίσματος.

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

2 — Σχεδιάζει και γεμίζει έναν κύκλο χρησιμοποιώντας ένα προκαθορισμένο ή προσαρμοσμένο χρώμα αντικείμενο.

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

3 — Σχεδιάζει και γεμίζει έναν κύκλο χρησιμοποιώντας μια δεκαεξαδική τιμή χρώματος.

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

4 — Σχεδιάζει και γεμίζει έναν κύκλο χρησιμοποιώντας μια τιμή απόχρωσης.

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

Parameters

Παράμετρος

Τύπος

Περιγραφή

x

int

Η συντεταγμένη x του κέντρου του κύκλου, που δίνεται ως ακέραιος αριθμός από 0 έως 479.

y

int

Η συντεταγμένη y του κέντρου του κύκλου, που δίνεται ως ακέραιος αριθμός από 0 έως 239.

radius

int

Η ακτίνα του κύκλου, που δίνεται ως ακέραιος αριθμός από 0 έως 239 pixel.

color

const color&

Γεμίζει τον κύκλο χρησιμοποιώντας ένα αντικείμενο χρώματος Τα προκαθορισμένα χρώματα περιλαμβάνουν:

  • μαύρο
  • λευκό
  • κόκκινο
  • πράσινο
  • μπλε
  • κίτρινο
  • πορτοκαλί
  • κυανό
  • διαφανές
Αυτό μπορεί επίσης να χρησιμοποιήσει ένα αντικείμενο προσαρμοσμένου χρώματος.

color

const char*

Γεμίζει τον κύκλο χρησιμοποιώντας μια δεκαεξαδική τιμή χρώματος (για παράδειγμα, “#FF0000”).

hue

int

Γεμίζει τον κύκλο χρησιμοποιώντας μια τιμή απόχρωσης στην περιοχή 0–359.

Return Values

Αυτή η συνάρτηση δεν επιστρέφει τιμή.

Notes
  • Το περίγραμμα του κύκλου σχεδιάζεται χρησιμοποιώντας το τρέχον χρώμα πένας που έχει οριστεί με setPenColor.

  • Το πάχος του περιγράμματος καθορίζεται από το τρέχον πλάτος πένας που έχει οριστεί με setPenWidth.

  • Όταν δεν παρέχεται παράμετρος χρώματος , το εσωτερικό του κύκλου γεμίζεται χρησιμοποιώντας το τρέχον χρώμα γεμίσματος που έχει οριστεί με setFillColor.

  • Οι συντεταγμένες x και y είναι σχετικές με την τρέχουσα αρχή της οθόνης, η οποία μπορεί να αλλάξει χρησιμοποιώντας#setorigin

  • Η τιμή της παραμέτρου απόχρωση βασίζεται σε έναν κυκλικό χρωματικό τροχό, όπως φαίνεται παρακάτω, όπου οι τιμές αντιπροσωπεύουν μοίρες γύρω από τον τροχό (για παράδειγμα, κόκκινο κοντά στις 0°, πράσινο κοντά στις 120° και μπλε κοντά στις 240°).

Ένας χρωματικός κύκλος που δείχνει το εύρος των χρωμάτων από 0 έως 359, όπου το κόκκινο είναι 0, το πράσινο είναι 120 και το μπλε είναι 240.

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

Ένα στιγμιότυπο οθόνης της οθόνης V5 Brain δείχνει έναν κύκλο με ένα λεπτό λευκό περίγραμμα στο κέντρο.

drawImageFromFile#

Σχεδιάζει μια εικόνα στην οθόνη V5 Brain χρησιμοποιώντας ένα αρχείο εικόνας που είναι αποθηκευμένο στην κάρτα SD.

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

Parameters

Παράμετρος

Τύπος

Περιγραφή

name

const char*

Το όνομα αρχείου της εικόνας στην κάρτα SD. Το αρχείο πρέπει να έχει επέκταση .bmp ή .png.

x

int

Η συντεταγμένη x, σε pixel από 0 έως 479, στην οποία θα σχεδιαστεί η αριστερή άκρη της εικόνας.

y

int

Η συντεταγμένη y, σε pixel από 0 έως 239, στην οποία θα σχεδιαστεί το πάνω άκρο της εικόνας.

Return Values

Επιστρέφει μια λογική τιμή που υποδεικνύει εάν η εικόνα σχεδιάστηκε με επιτυχία:

  • true — Η εικόνα φορτώθηκε και σχεδιάστηκε με επιτυχία στην οθόνη.
  • false — Η εικόνα δεν ήταν δυνατό να σχεδιαστεί (για παράδειγμα, εάν το αρχείο δεν υπάρχει ή δεν είναι έγκυρο).

Notes
  • Οι υποστηριζόμενες μορφές εικόνας είναι .bmp και .png.

  • Το μέγεθος του αρχείου εικόνας δεν πρέπει να υπερβαίνει 512 KB.

    • Συνιστάται η κωδικοποίηση RLE 8-bit για την ελαχιστοποίηση του μεγέθους του αρχείου.

  • Οι μέγιστες υποστηριζόμενες διαστάσεις εικόνας είναι το μέγεθος της οθόνης Brain (περίπου 479 x 239 pixel).

  • Οι συντεταγμένες x και y είναι σχετικές με την τρέχουσα αρχή της οθόνης, η οποία μπορεί να αλλάξει χρησιμοποιώντας#setorigin

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

render#

Ενεργοποιεί τη διπλή προσωρινή αποθήκευση για την οθόνη του Brain. Μόλις κληθούν, τυχόν συναρτήσεις σχεδίασης (όπως κείμενο, σχήματα ή εικόνες) δεν θα εμφανίζονται πλέον αμέσως για το υπόλοιπο έργο. Αντίθετα, οι ενημερώσεις θα εμφανίζονται μόνο όταν χρησιμοποιηθεί ξανά η απόδοση Αυτό επιτρέπει ομαλότερες και πιο ελεγχόμενες ενημερώσεις οθόνης, αλλά σημαίνει ότι τίποτα δεν θα είναι ορατό μέχρι να χρησιμοποιηθεί η απόδοση .

Available Functions

1 — Ενεργοποιεί τη διπλή προσωρινή αποθήκευση ή αποδίδει την προσωρινή αποθήκευση στην οθόνη.

bool render();

2 — Αποδίδει το back buffer στην οθόνη με έλεγχο της συμπεριφοράς κάθετου συγχρονισμού και προαιρετική εκτέλεση χρονοδιαγράμματος.

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

Parameters

Παράμετρος

Τύπος

Περιγραφή

bVsyncWait

bool

<ul><li><code>true</code> — Περιμένετε την κάθετη ανανέωση της οθόνης πριν από την απόδοση για να μειώσετε το οπτικό σκίσιμο.</li><li><code>false</code> — Μην περιμένετε την κάθετη ανανέωση της οθόνης πριν από την απόδοση.</li></ul>

bRunScheduler

bool

Προαιρετικό.

  • true (προεπιλογή) — Επιτρέπεται η εκτέλεση εργασιών παρασκηνίου κατά την αναμονή της απόδοσης.
  • false — Δεν επιτρέπεται η εκτέλεση εργασιών παρασκηνίου κατά την αναμονή της απόδοσης.

Return Values

Επιστρέφει μια λογική τιμή που υποδεικνύει εάν τα αποθηκευμένα σχέδια στο buffer αποδώθηκαν με επιτυχία στην οθόνη:

  • true — Τα σχέδια αποδώθηκαν με επιτυχία στην οθόνη.
  • false — Τα σχέδια δεν ήταν δυνατό να αποδοθούν στην οθόνη.
  • Notes
    • Η κλήση της συνάρτησης render θα απαιτήσει τη χρήση της συνάρτησης 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#

Αναφέρει εάν πατιέται η οθόνη V5 Brain αυτήν τη στιγμή.

Available Functions
bool pressing();

Parameters

Αυτή η συνάρτηση δεν δέχεται καμία παράμετρο.

Return Values

Επιστρέφει μια δυαδική τιμή που υποδεικνύει την τρέχουσα κατάσταση πατήματος της οθόνης:true — Η οθόνη πατιέται αυτήν τη στιγμή. ή false — Η οθόνη δεν πατιέται.

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#

Επιστρέφει τη συντεταγμένη x του τελευταίου πατήματος στην οθόνη V5 Brain.

Available Functions
int32_t xPosition();

Parameters

Αυτή η συνάρτηση δεν δέχεται καμία παράμετρο.

Return Values

Επιστρέφει μια τιμή int32_t που αντιπροσωπεύει τη συντεταγμένη x, σε pixel από 0 έως 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#

Επιστρέφει τη συντεταγμένη y του τελευταίου πατήματος στην οθόνη V5 Brain.

Available Functions
int32_t yPosition();

Parameters

Αυτή η συνάρτηση δεν δέχεται καμία παράμετρο.

Return Values

Επιστρέφει μια τιμή int32_t που αντιπροσωπεύει τη συντεταγμένη y, σε pixel από 0 έως 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#

Καταγράφει μια συνάρτηση που θα κληθεί όταν πατηθεί η οθόνη V5 Brain.

Available Functions

1 — Καλεί μια συνάρτηση όταν πατηθεί η οθόνη.

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

2 — Καλεί μια συνάρτηση όταν πατηθεί η οθόνη και μεταβιβάζει ένα όρισμα που ορίζεται από τον χρήστη στη συνάρτηση επανάκλησης.

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

Parameters

Παράμετρος

Τύπος

Περιγραφή

callback

void (*)(void)

Μια συνάρτηση που καλείται όταν πατηθεί η οθόνη.

callback

void ()(void)

Μια συνάρτηση που καλείται όταν πατηθεί η οθόνη και λαμβάνει ένα όρισμα που ορίζεται από τον χρήστη.

arg

void*

Μια τιμή που ορίζεται από τον χρήστη και η οποία διαβιβάζεται στη συνάρτηση επανάκλησης όταν πατηθεί η οθόνη.

Return Values

Αυτή η συνάρτηση δεν επιστρέφει τιμή.

Notes
  • Η λειτουργία επανάκλησης εκτελείται κάθε φορά που πατιέται η οθόνη Brain.

  • Μόνο μία λειτουργία επανάκλησης μπορεί να καταχωρηθεί κάθε φορά. Η κλήση του και το πάτημα του ξανά αντικαθιστά την προηγούμενη λειτουργία επανάκλησης.

  • Η συνάρτηση επανάκλησης πρέπει να επιστρέφει void.

Examples

Ορίστε τη συνάρτηση επανάκλησης (εκτός από 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);
}

Καταχωρίστε την επανάκληση μέσα στο int main()

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#

Καταγράφει μια συνάρτηση που θα κληθεί όταν απελευθερωθεί η οθόνη V5 Brain μετά το πάτημα.

Available Functions

1 — Καλεί μια συνάρτηση όταν η οθόνη απελευθερωθεί μετά το πάτημα.

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

2 — Καλεί μια συνάρτηση όταν η οθόνη απελευθερωθεί μετά το πάτημα και μεταβιβάζει ένα όρισμα που ορίζεται από τον χρήστη στη συνάρτηση επανάκλησης.

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

Parameters

Παράμετρος

Τύπος

Περιγραφή

callback

void (*)(void)

Μια συνάρτηση που καλείται όταν η οθόνη απελευθερώνεται μετά το πάτημα.

callback

void ()(void)

Μια συνάρτηση που καλείται όταν η οθόνη απελευθερώνεται μετά το πάτημα και λαμβάνει ένα όρισμα που ορίζεται από τον χρήστη.

arg

void*

Μια τιμή που ορίζεται από τον χρήστη και η οποία διαβιβάζεται στη συνάρτηση επανάκλησης όταν η οθόνη απελευθερώνεται μετά το πάτημα.

Return Values

Αυτή η συνάρτηση δεν επιστρέφει τιμή.

Notes
  • Η λειτουργία επανάκλησης εκτελείται κάθε φορά που απελευθερώνεται η οθόνη Brain αφού πατηθεί.

  • Μόνο μία συνάρτηση επανάκλησης μπορεί να καταχωρηθεί κάθε φορά. Η κλήση του και η επανάκληση του αντικαθιστά την προηγούμενη συνάρτηση επανάκλησης.

  • Η συνάρτηση επανάκλησης πρέπει να επιστρέφει void.

Examples

Ορίστε τη συνάρτηση επανάκλησης (εκτός από 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);
}

Καταχωρίστε την επανάκληση μέσα στο int main()

int main() {
  int releaseCount = 0;

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

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