Màn hình#
Giới thiệu#
Lớp màn hình screen được kế thừa từ lớp cơ sở brain. Nó kiểm soát cách V5 Brain hiển thị văn bản, số và đồ họa trên màn hình cảm ứng của nó và cách nó phản hồi với đầu vào cảm ứng.
Mặc định, phông chữ dùng để in lên Brain là phông chữ đơn cách nhỏ với 12 hàng và 48 cột.
Đối với việc vẽ, độ phân giải của Brain là 480 x 240 pixel.

Truy cập#
Lớp screen có thể được truy cập bằng cách:
Brain.Screen
Ghi chú#
Đối tượng màn hình
screenđược cung cấp bởi Bộ não. Nó không được tạo ra trực tiếp.Projects use a single global
Brainobject, so screen functions are called usingBrain.Screen.
Ví dụ#
/* 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!");
Chức năng thành viên#
Lớp màn hình screen bao gồm các hàm thành viên sau:
print— In văn bản, số hoặc giá trị Boolean được định dạng lên màn hình Brain.setCursor— Di chuyển con trỏ văn bản đến hàng và cột được chỉ định.newLine— Xóa phần còn lại của dòng hiện tại và di chuyển con trỏ đến dòng tiếp theo.clearLine— Xóa phần còn lại của dòng hiện tại hoặc xóa một dòng được chỉ định.row— Trả về hàng mà văn bản sẽ được in.column— Trả về cột mà văn bản sẽ được in.getStringHeight— Trả về chiều cao của một chuỗi tính bằng pixel sử dụng phông chữ hiện tại.getStringWidth— Trả về chiều rộng của một chuỗi tính bằng pixel sử dụng phông chữ hiện tại.printAt— In văn bản được định dạng tại vị trí pixel x, y.clearScreen— Xóa tất cả hình vẽ và văn bản khỏi màn hình Brain.setFont— Đặt phông chữ được sử dụng để in trên màn hình.setPenWidth— Đặt độ dày của các đường vẽ và đường viền hình dạng.setPenColor— Đặt màu cho văn bản, pixel, đường kẻ và đường viền hình dạng.setFillColor— Đặt màu tô cho các hình vẽ và nền văn bản in.setOrigin— Đặt gốc được sử dụng cho tọa độ màn hình.setClipRegion— Giới hạn đầu ra màn hình thành một vùng hình chữ nhật.drawPixel— Vẽ một pixel tại tọa độ.drawLine— Vẽ một đường thẳng giữa hai điểm.drawRectangle— Vẽ một hình chữ nhật tại vị trí x, y với kích thước được chỉ định.drawCircle— Vẽ một hình tròn tại vị trí x, y với bán kính được chỉ định.drawImageFromFile— Vẽ một hình ảnh từ tệp trên thẻ SD lên màn hình.render— Cho phép đệm kép hoặc hiển thị bộ đệm phía sau lên màn hình.pressing— Trả về trạng thái hiện tại của màn hình đang được nhấn.xPosition— Trả về tọa độ x của lần nhấn màn hình gần đây nhất.yPosition— Trả về tọa độ y của lần nhấn màn hình gần đây nhất.pressed— Đăng ký một hàm gọi lại để chạy khi màn hình được nhấn.released— Đăng ký một hàm gọi lại để chạy khi màn hình được nhả ra sau khi được nhấn.
Before calling any screen member functions, a brain instance must be created, as shown below:
// Create the V5 Brain
brain Brain = brain();
print#
Hiển thị văn bản, số hoặc giá trị Boolean trên màn hình V5 Brain.
Available Functions1 — In văn bản được định dạng bằng cách sử dụng chuỗi ký tự hoặc chuỗi kiểu C chỉ đọc.
void print( const char* format, ... );
Parameters2 — In văn bản được định dạng bằng cách sử dụng mảng ký tự có thể chỉnh sửa.
void print( char* format, ... );
Tham số |
Kiểu |
Sự miêu tả |
|---|---|---|
|
|
Chuỗi định dạng được cung cấp dưới dạng chuỗi ký tự hoặc chuỗi kiểu C chỉ đọc (ví dụ: |
|
|
Chuỗi định dạng được cung cấp dưới dạng mảng ký tự có thể chỉnh sửa. |
|
Một hoặc nhiều giá trị bổ sung được chèn vào chuỗi định dạng, phân cách nhau bằng dấu phẩy. |
Hàm này không trả về giá trị nào.
NotesQuá trình xuất dữ liệu bắt đầu từ vị trí con trỏ hiện tại trên màn hình.
Văn bản in sử dụng màu bút hiện tại là và màu.
Văn bản được in với
printluôn được in kèm nền, và màu nền được xác định bởi current fill color.Khi sử dụng chuỗi định dạng, số lượng và loại giá trị được truyền phải khớp với định dạng chỉ định trong chuỗi.
// Display a message at the starting cursor
Brain.Screen.print("Hello, Robot!");

setCursor#
Di chuyển con trỏ đến một hàng và cột cụ thể trên màn hình V5 Brain. Lệnh print tiếp theo sẽ bắt đầu in tại vị trí đó.
void setCursor(
int32_t row,
int32_t col );
Tham số |
Kiểu |
Sự miêu tả |
|---|---|---|
|
|
Hàng cần di chuyển con trỏ đến. |
|
|
Cột cần di chuyển con trỏ đến. |
Hàm này không trả về giá trị nào.
NotesẢnh hưởng đến vị trí bắt đầu xuất văn bản tiếp theo khi sử dụng
print.Hàng và cột dựa trên phông chữ màn hình hiện đang được đặt.
Phông chữ mặc định (
mono20) sử dụng 12 hàng và 48 cột.Việc gọi hàm
setCursorchỉ ảnh hưởng đến vị trí của đoạn văn bản được xuất ra sau đó.
// Display text starting at Row 3 Column 12
Brain.Screen.setCursor(3, 12);
Brain.Screen.print("Row 3, Column 12");

newLine#
Di chuyển con trỏ đến đầu hàng tiếp theo trên màn hình Brain.
Available Functionsvoid newLine();
Hàm này không chấp nhận bất kỳ tham số nào.
Return ValuesHàm này không trả về giá trị nào.
NotesNếu con trỏ nằm ở giữa câu, lệnh
newLinesẽ xóa phần còn lại của hàng sau con trỏ trước khi chuyển sang hàng tiếp theo.Sau khi gọi lệnh
newLine, con trỏ được đặt tại cột đầu tiên của dòng tiếp theo.Vị trí con trỏ và số hàng được thiết lập bằng cách sử dụng
setCursor.
// Display two lines of text
Brain.Screen.print("Line 1");
Brain.Screen.newLine();
Brain.Screen.print("Line 2");

clearLine#
Xóa văn bản khỏi một hàng trên màn hình V5 Brain.
Available Functions1 — Xóa phần còn lại của dòng hiện tại từ vị trí con trỏ.
void clearLine();
2 — Clears the specified row using the currently configured fill color.
void clearLine( int number );
3 — Xóa hàng được chỉ định bằng cách sử dụng đối tượng được xác định trước hoặc màu tùy chỉnh.
void clearLine( int number, const color& color );
4 — Xóa hàng được chỉ định bằng cách sử dụng giá trị màu thập lục phân.
void clearLine( int number, const char* color );
Parameters5 — Xóa hàng được chỉ định bằng cách sử dụng giá trị màu sắc.
void clearLine( int number, int hue );
Tham số |
Kiểu |
Sự miêu tả |
|---|---|---|
|
|
Số hàng cần xóa. Số hàng bắt đầu từ |
|
|
Xóa hàng bằng cách sử dụng đối tượng màu
|
|
|
Xóa hàng bằng cách sử dụng giá trị màu thập lục phân (ví dụ: |
|
|
Xóa hàng bằng cách sử dụng giá trị sắc độ nguyên trong phạm vi |
Hàm này không trả về giá trị nào.
NotesXóa một dòng không làm thay đổi vị trí con trỏ hiện tại.
Vị trí con trỏ và số hàng được thiết lập bằng cách sử dụng
setCursor.Giá trị tham số
huedựa trên một vòng tròn màu sắc, như hình bên dưới, trong đó các giá trị biểu thị độ xung quanh vòng tròn (ví dụ: màu đỏ gần 0°, màu xanh lá cây gần 120° và màu xanh lam gần 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#
Trả về dòng chứa văn bản sẽ được in trên màn hình V5 Brain.
Available Functionsint32_t row();
Hàm này không chấp nhận bất kỳ tham số nào.
Return ValuesTrả về một giá trị int32_t biểu thị dòng sẽ in văn bản.
Số thứ tự hàng bắt đầu từ 1.
NotesGiá trị trả về cho biết vị trí hiển thị của thông tin in tiếp theo.
Giá trị hàng thay đổi khi văn bản được in hoặc khi
setCursorđược gọi.
// Display the cursor's current row
Brain.Screen.setCursor(3, 12);
Brain.Screen.print(Brain.Screen.row());

column#
Trả về cột chứa văn bản sẽ được in trên màn hình V5 Brain.
Available Functionsint32_t column();
Hàm này không chấp nhận bất kỳ tham số nào.
Return ValuesTrả về một giá trị int32_t biểu thị cột sẽ in văn bản.
Số thứ tự cột bắt đầu từ 1.
NotesGiá trị trả về cho biết vị trí hiển thị của thông tin in tiếp theo.
Giá trị cột thay đổi khi văn bản được in hoặc khi
setCursorđược gọi.
// Display the cursor's current column
Brain.Screen.setCursor(5, 15);
Brain.Screen.print(Brain.Screen.column());

getStringHeight#
Trả về chiều cao, tính bằng pixel, của một chuỗi khi được hiển thị trên màn hình V5 Brain.
Available Functionsint32_t getStringHeight(
const char* cstr );
Tham số |
Kiểu |
Sự miêu tả |
|---|---|---|
|
|
Văn bản cần đo được cung cấp dưới dạng chuỗi kiểu C (ví dụ: |
Trả về một giá trị int32_t biểu thị chiều cao của chuỗi ký tự tính bằng pixel khi được hiển thị trên màn hình Brain.
The returned height depends on the currently selected screen font.
Chức năng này đo chiều dài chuỗi mà không cần vẽ nó lên màn hình.
Chiều cao trả về phản ánh cách chuỗi ký tự sẽ hiển thị khi được in ra.
getStringWidth#
Trả về chiều rộng, tính bằng pixel, của một chuỗi khi được hiển thị trên màn hình V5 Brain.
Available Functionsint32_t getStringWidth(
const char* cstr );
Tham số |
Kiểu |
Sự miêu tả |
|---|---|---|
|
|
Văn bản cần đo được cung cấp dưới dạng chuỗi kiểu C (ví dụ: |
Trả về một giá trị int32_t biểu thị chiều rộng của chuỗi ký tự tính bằng pixel khi được hiển thị trên màn hình Brain.
The returned width depends on the currently selected screen font.
Chức năng này đo chiều dài chuỗi mà không cần vẽ nó lên màn hình.
Độ rộng trả về phản ánh cách chuỗi ký tự sẽ hiển thị khi được in ra.
printAt#
In văn bản, số hoặc giá trị Boolean tại một tọa độ cụ thể trên màn hình V5 Brain.
Available Functions1 — In ra kết quả đã định dạng tại vị trí pixel được chỉ định.
void printAt( int32_t x, int32_t y, const char* format, ... );
Parameters2 — In ra kết quả được định dạng tại vị trí pixel được chỉ định và thiết lập xem nền văn bản là mờ hay trong suốt.
void printAt( int32_t x, int32_t y, bool bOpaque, const char* format, ... );
Tham số |
Kiểu |
Sự miêu tả |
|---|---|---|
|
|
Vị trí x cần in, được tham chiếu đến gốc tọa độ màn hình. |
|
|
Vị trí trục y để in, được tham chiếu đến gốc tọa độ màn hình. |
|
|
Điều khiển xem văn bản in được vẽ mờ hay trong suốt:
|
|
|
Chuỗi định dạng kiểm soát nội dung được in trên màn hình (ví dụ: |
|
Một hoặc nhiều giá trị bổ sung được chèn vào chuỗi định dạng, phân cách nhau bằng dấu phẩy. |
Hàm này không trả về giá trị nào.
NotesTọa độ
xvàylà tương đối so với gốc tọa độ màn hình hiện tại, có thể được thay đổi bằng cách sử dụngsetOrigin.Văn bản in sử dụng màu bút hiện tại là và màu.
Khi sử dụng chuỗi định dạng, số lượng và loại giá trị được truyền phải khớp với định dạng chỉ định trong chuỗi.
// Print "Center" at the center of the screen
Brain.Screen.printAt(220, 120, "Center");

clearScreen#
Xóa tất cả hình vẽ và văn bản khỏi màn hình Brain và đặt lại vị trí con trỏ về hàng 1, cột 1.
Available Functions1 — Xóa màn hình thành màu đen.
void clearScreen();
2 — Xóa màn hình bằng cách sử dụng đối tượng được xác định trước hoặc màu tùy chỉnh.
void clearScreen( const color& color );
3 — Xóa màn hình bằng giá trị màu thập lục phân.
void clearScreen( const char* color );
Parameters4 — Xóa màn hình bằng cách sử dụng giá trị màu sắc.
void clearScreen( int hue );
Tham số |
Kiểu |
Sự miêu tả |
|---|---|---|
|
|
Xóa màn hình bằng cách sử dụng đối tượng màu
|
|
|
Xóa màn hình bằng cách sử dụng giá trị màu thập lục phân được biểu diễn dưới dạng chuỗi (ví dụ: |
|
|
Xóa màn hình bằng cách sử dụng giá trị màu sắc nguyên trong phạm vi |
Hàm này không trả về giá trị nào.
NotesGiá trị tham số
huedựa trên một vòng tròn màu sắc, như hình bên dưới, trong đó các giá trị biểu thị độ xung quanh vòng tròn (ví dụ: màu đỏ gần 0°, màu xanh lá cây gần 120° và màu xanh lam gần 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#
Thiết lập phông chữ được sử dụng cho văn bản hiển thị trên màn hình V5 Brain.
Điều này kiểm soát phông chữ được áp dụng cho đầu ra văn bản tiếp theo khi sử dụng các chức năng văn bản màn hình như print.
void setFont(
fontType font );
Tham số |
Kiểu |
Sự miêu tả |
|---|---|---|
|
|
Sets the font to one of the following:
|
|
|
|
|---|---|---|
|
|
|
|
|
|
|
|
Hàm này không trả về giá trị nào.
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#
Thiết lập độ dày của các đường vẽ và đường viền hình dạng.
Available Functionsvoid setPenWidth(
uint32_t width );
Tham số |
Kiểu |
Sự miêu tả |
|---|---|---|
|
|
Độ rộng của bút, tính bằng pixel, từ 0 đến 32. |
Hàm này không trả về giá trị nào.
NotesĐộ rộng bút áp dụng cho các chức năng vẽ như
drawLine,drawRectanglevàdrawCircle.
// Draw a rectangle with a pen width of 10
Brain.Screen.setPenWidth(10);
Brain.Screen.drawRectangle(50, 50, 130, 60);

setPenColor#
Thiết lập màu sắc cho văn bản, pixel, đường kẻ và đường viền hình dạng.
Available Functions1 — Đặt màu bút bằng cách sử dụng đối tượng được xác định trước hoặc màu tùy chỉnh.
void setPenColor( const color& color );
2 — Đặt màu bút bằng giá trị màu thập lục phân.
void setPenColor( const char* color );
Parameters3 — Đặt màu bút bằng cách sử dụng giá trị sắc độ.
void setPenColor( int hue );
Tham số |
Kiểu |
Sự miêu tả |
|---|---|---|
|
|
Thiết lập màu bút bằng cách sử dụng đối tượng
|
|
|
Thiết lập màu bút bằng cách sử dụng giá trị màu thập lục phân được biểu diễn dưới dạng chuỗi (ví dụ: |
|
|
Thiết lập màu bút bằng cách sử dụng giá trị sắc độ số nguyên trong phạm vi |
Hàm này không trả về giá trị nào.
NotesMàu bút mặc định khi bắt đầu dự án là
white.Màu bút được sử dụng cho đường viền của các hình dạng (chẳng hạn như với
drawCirclehoặcdrawRectangle), văn bản và đầu ra số (vớiprintvàprintAt) và các pixel riêng lẻ được vẽ bằngdrawPixel.Giá trị tham số
huedựa trên một vòng tròn màu sắc, như hình bên dưới, trong đó các giá trị biểu thị độ xung quanh vòng tròn (ví dụ: màu đỏ gần 0°, màu xanh lá cây gần 120° và màu xanh lam gần 240°).

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

setFillColor#
Thiết lập màu nền được sử dụng khi vẽ các hình dạng.
Available Functions1 — Đặt màu tô bằng cách sử dụng đối tượng được xác định trước hoặc màu tùy chỉnh.
void setFillColor( const color& color );
2 — Đặt màu tô bằng giá trị màu thập lục phân.
void setFillColor( const char* color );
Parameters3 — Đặt màu tô bằng cách sử dụng giá trị sắc độ.
void setFillColor( int hue );
Tham số |
Kiểu |
Sự miêu tả |
|---|---|---|
|
|
Thiết lập màu nền bằng cách sử dụng đối tượng
|
|
|
Thiết lập màu nền bằng cách sử dụng giá trị màu thập lục phân được biểu diễn dưới dạng chuỗi (ví dụ: |
|
|
Thiết lập màu nền bằng cách sử dụng giá trị sắc độ số nguyên trong phạm vi |
Hàm này không trả về giá trị nào.
NotesMàu nền mặc định khi bắt đầu dự án là
black.Màu tô được sử dụng cho phần bên trong của các hình dạng (chẳng hạn như với
drawCirclehoặcdrawRectangle).Màu tô được sử dụng làm màu nền cho văn bản in (chẳng hạn như với
printvàprintAt).Nếu sử dụng
transparentvới văn bản in, nền sẽ làblack.
Giá trị tham số
huedựa trên một vòng tròn màu sắc, như hình bên dưới, trong đó các giá trị biểu thị độ xung quanh vòng tròn (ví dụ: màu đỏ gần 0°, màu xanh lá cây gần 120° và màu xanh lam gần 240°).

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

setOrigin#
Thiết lập điểm gốc được sử dụng để vẽ và in dựa trên tọa độ trên màn hình Brain.
Available Functionsvoid setOrigin(
int32_t x,
int32_t y );
Tham số |
Kiểu |
Sự miêu tả |
|---|---|---|
|
|
Vị trí x của gốc tọa độ so với góc trên bên trái màn hình Brain từ 0 đến 479. |
|
|
Vị trí trục y của điểm gốc so với góc trên bên trái màn hình Brain từ 0 đến 239. |
Hàm này không trả về giá trị nào.
NotesĐiểm gốc mặc định là góc trên bên trái màn hình tại tọa độ (0, 0).
Nguồn gốc áp dụng cho các hàm tọa độ như
drawLine,drawRectangle,drawCircle, vàprintAt.Cài đặt ban đầu vẫn có hiệu lực cho đến khi được thay đổi hoặc dự án được thiết lập lại.
setClipRegion#
Xác định một vùng hình chữ nhật trên màn hình, nơi tất cả hình vẽ và văn bản sẽ được giới hạn. Bất kỳ nội dung nào nằm ngoài vùng này sẽ không được hiển thị.
Available Functionsvoid setClipRegion(
int x,
int y,
int width,
int height );
Tham số |
Kiểu |
Sự miêu tả |
|---|---|---|
|
|
Tọa độ x của góc trên bên trái của vùng cắt, được biểu thị bằng một số nguyên từ 0 đến 479. |
|
|
Tọa độ y của góc trên bên trái của vùng cắt, được biểu thị bằng một số nguyên từ 0 đến 239. |
|
|
Chiều rộng của vùng cắt tính bằng pixel, được biểu thị dưới dạng số nguyên từ 0 đến 479. |
|
|
Chiều cao của vùng cắt tính bằng pixel, được biểu thị dưới dạng số nguyên từ 0 đến 239. |
Hàm này không trả về giá trị nào.
NotesCác chức năng vẽ vẫn được thực thi ngay cả khi chúng nằm ngoài vùng cắt, nhưng chỉ phần bên trong vùng đó mới hiển thị.
Tọa độ
xvàylà tương đối so với gốc tọa độ màn hình hiện tại, có thể được thay đổi bằng cách sử dụngsetOrigin.Vùng cắt chỉ áp dụng cho luồng hiện tại.
Việc thiết lập vùng cắt mới sẽ thay thế bất kỳ vùng cắt nào đã được thiết lập trước đó cho chủ đề hiện tại.
// 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#
Vẽ một điểm ảnh trên màn hình V5 Brain tại vị trí điểm ảnh x và y đã chọn.
Available Functionsvoid drawPixel(
int x,
int y );
Tham số |
Kiểu |
Sự miêu tả |
|---|---|---|
|
|
Tọa độ x nơi điểm ảnh sẽ được vẽ, được biểu thị bằng một số nguyên từ 0 đến 479. |
|
|
Tọa độ y nơi điểm ảnh sẽ được vẽ, được biểu thị bằng một số nguyên từ 0 đến 239. |
Hàm này không trả về giá trị nào.
NotesCác pixel được vẽ bằng cách sử dụng màu bút hiện tại được đặt bằng
setPenColor.Tọa độ
xvàylà tương đối so với gốc màn hình hiện tại, có thể được thiết lập bằng cách sử dụngsetOrigin.Nếu vị trí pixel được chỉ định nằm ngoài phạm vi màn hình, pixel đó sẽ không được vẽ.
// 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#
Vẽ một đường thẳng nối hai điểm trên màn hình V5 Brain.
Available Functionsvoid drawLine(
int x1,
int y1,
int x2,
int y2 );
Tham số |
Kiểu |
Sự miêu tả |
|---|---|---|
|
|
Tọa độ x ban đầu của đường thẳng, được biểu thị bằng một số nguyên từ 0 đến 479. |
|
|
Tọa độ y ban đầu của đường thẳng, được biểu thị bằng một số nguyên từ 0 đến 239. |
|
|
Tọa độ x cuối cùng của đường thẳng, được biểu thị bằng một số nguyên từ 0 đến 479. |
|
|
Tọa độ y cuối cùng của đường thẳng, được biểu thị bằng một số nguyên từ 0 đến 239. |
Hàm này không trả về giá trị nào.
NotesCác đường được vẽ bằng cách sử dụng màu bút hiện tại được đặt bằng
setPenColor.Độ rộng của đường kẻ được xác định bởi độ rộng bút hiện tại được đặt bằng
setPenWidth.Tọa độ
xvàylà tương đối so với gốc màn hình hiện tại, có thể được thiết lập bằng cách sử dụngsetOrigin.Nếu bất kỳ phần nào của đường thẳng nằm ngoài phạm vi màn hình, chỉ phần hiển thị được mới được vẽ.
// Draw a line from the top left to bottom right of the screen
Brain.Screen.drawLine(0, 0, 479, 239);

drawRectangle#
Vẽ một hình chữ nhật trên màn hình V5 Brain tại vị trí và kích thước đã chỉ định.
Available Functions1 — Draws and fills a rectangle using the currently configured fill color.
void drawRectangle( int x, int y, int width, int height );
2 — Vẽ và tô màu hình chữ nhật bằng cách sử dụng một đối tượng được xác định trước hoặc màu tùy chỉnh.
void drawRectangle( int x, int y, int width, int height, const color& color );
3 — Vẽ và tô màu hình chữ nhật bằng giá trị màu thập lục phân.
void drawRectangle( int x, int y, int width, int height, const char* color );
Parameters4 — Vẽ và tô màu hình chữ nhật bằng giá trị màu sắc.
void drawRectangle( int x, int y, int width, int height, int hue );
Tham số |
Kiểu |
Sự miêu tả |
|---|---|---|
|
|
Tọa độ x của góc trên bên trái của hình chữ nhật, được biểu thị bằng một số nguyên từ 0 đến 479. |
|
|
Tọa độ y của góc trên bên trái của hình chữ nhật, được biểu thị bằng một số nguyên từ 0 đến 239. |
|
|
Chiều rộng của hình chữ nhật, được biểu thị bằng một số nguyên từ 0 đến 479. |
|
|
Chiều cao của hình chữ nhật, được biểu thị bằng một số nguyên từ 0 đến 239. |
|
|
Fills the rectangle using a
|
|
|
Tô màu hình chữ nhật bằng giá trị màu thập lục phân (ví dụ: |
|
|
Tô màu hình chữ nhật bằng giá trị màu trong khoảng |
Hàm này không trả về giá trị nào.
NotesĐường viền hình chữ nhật được vẽ bằng cách sử dụng màu bút hiện tại được đặt bằng
setPenColor.Độ dày đường viền được xác định bởi độ rộng bút hiện tại được đặt bằng
setPenWidth.Khi không có tham số
colorđược cung cấp, phần bên trong hình chữ nhật sẽ được tô bằng màu tô hiện tại được đặt bằngsetFillColor.Tọa độ
xvàylà tương đối so với gốc tọa độ màn hình hiện tại, có thể được thay đổi bằng cách sử dụngsetOrigin.Nếu bất kỳ phần nào của hình chữ nhật nằm ngoài phạm vi màn hình, chỉ phần hiển thị được mới được vẽ.
Giá trị tham số
huedựa trên một vòng tròn màu sắc, như hình bên dưới, trong đó các giá trị biểu thị độ xung quanh vòng tròn (ví dụ: màu đỏ gần 0°, màu xanh lá cây gần 120° và màu xanh lam gần 240°).

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

drawCircle#
Vẽ một vòng tròn trên màn hình V5 Brain tại vị trí và bán kính đã chỉ định.
Available Functions1 — Draws and fills a circle using the currently configured fill color.
void drawCircle( int x, int y, int radius );
2 — Vẽ và tô màu một hình tròn bằng cách sử dụng một đối tượng được xác định trước hoặc màu tùy chỉnh.
void drawCircle( int x, int y, int radius, const color& color );
3 — Vẽ và tô màu một hình tròn bằng giá trị màu thập lục phân.
void drawCircle( int x, int y, int radius, const char* color );
Parameters4 — Vẽ và tô màu một hình tròn bằng cách sử dụng giá trị màu sắc.
void drawCircle( int x, int y, int radius, int hue );
Tham số |
Kiểu |
Sự miêu tả |
|---|---|---|
|
|
Tọa độ x của tâm đường tròn, được biểu thị bằng một số nguyên từ 0 đến 479. |
|
|
Tọa độ y của tâm đường tròn, được biểu thị bằng một số nguyên từ 0 đến 239. |
|
|
Bán kính của hình tròn, được biểu thị bằng một số nguyên từ 0 đến 239 pixel. |
|
|
Tô đầy hình tròn bằng cách sử dụng đối tượng màu
|
|
|
Tô màu hình tròn bằng giá trị màu thập lục phân (ví dụ: |
|
|
Tô màu hình tròn bằng giá trị màu trong khoảng |
Hàm này không trả về giá trị nào.
NotesĐường viền hình tròn được vẽ bằng cách sử dụng màu bút hiện tại được đặt bằng
setPenColor.Độ dày đường viền được xác định bởi độ rộng bút hiện tại được đặt bằng
setPenWidth.Khi không có tham số
colorđược cung cấp, phần bên trong của vòng tròn sẽ được tô bằng màu tô hiện tại được đặt bằngsetFillColor.Tọa độ
xvàylà tương đối so với gốc tọa độ màn hình hiện tại, có thể được thay đổi bằng cách sử dụngsetOrigin.Giá trị tham số
huedựa trên một vòng tròn màu sắc, như hình bên dưới, trong đó các giá trị biểu thị độ xung quanh vòng tròn (ví dụ: màu đỏ gần 0°, màu xanh lá cây gần 120° và màu xanh lam gần 240°).

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

drawImageFromFile#
Vẽ hình ảnh trên màn hình V5 Brain bằng cách sử dụng tệp hình ảnh được lưu trữ trên thẻ SD.
Available Functionsbool drawImageFromFile(
const char* name,
int x,
int y );
Tham số |
Kiểu |
Sự miêu tả |
|---|---|---|
|
|
The filename of the image on the SD card. The file must have a |
|
|
Tọa độ x, tính bằng pixel từ 0 đến 479, là vị trí mà cạnh trái của hình ảnh sẽ được vẽ. |
|
|
Tọa độ y, tính bằng pixel từ 0 đến 239, là vị trí mà cạnh trên của hình ảnh sẽ được vẽ. |
Trả về giá trị Boolean cho biết hình ảnh có được hiển thị thành công hay không:
true— Hình ảnh đã được tải và hiển thị thành công trên màn hình.false— Không thể hiển thị hình ảnh (ví dụ: nếu tệp không tồn tại hoặc không hợp lệ).
Các định dạng hình ảnh được hỗ trợ là
.bmpvà.png.Kích thước tệp hình ảnh không được vượt quá
512 KB.Nên sử dụng mã hóa RLE 8 bit để giảm thiểu kích thước tệp.
Kích thước hình ảnh tối đa được hỗ trợ là kích thước màn hình Brain (khoảng 479 x 239 pixel).
Tọa độ
xvàylà tương đối so với gốc tọa độ màn hình hiện tại, có thể được thay đổi bằng cách sử dụngsetOrigin.
// Draw a bmp file on the Brain's screen at coordinate 0, 0
Brain.Screen.drawImageFromFile("test_image.bmp", 0, 0);
render#
Cho phép sử dụng bộ đệm kép cho màn hình của Brain. Sau khi được gọi, bất kỳ chức năng vẽ nào (như văn bản, hình dạng hoặc hình ảnh) sẽ không còn hiển thị ngay lập tức trong suốt phần còn lại của dự án. Thay vào đó, các cập nhật sẽ chỉ được hiển thị khi lệnh render được sử dụng lại. Điều này cho phép cập nhật màn hình mượt mà và được kiểm soát tốt hơn, nhưng có nghĩa là sẽ không có gì hiển thị cho đến khi lệnh render được sử dụng.
1 — Cho phép đệm kép hoặc hiển thị bộ đệm phía sau lên màn hình.
bool render();
Parameters2 — Hiển thị bộ đệm phía sau lên màn hình với khả năng điều khiển hành vi đồng bộ dọc và thực thi bộ lập lịch tùy chọn.
bool render( bool bVsyncWait, bool bRunScheduler = true );
Tham số |
Kiểu |
Sự miêu tả |
|---|---|---|
|
|
|
|
|
Tùy chọn.
|
Trả về giá trị Boolean cho biết liệu các bản vẽ đã lưu trong bộ đệm có được hiển thị thành công trên màn hình hay không:
true— Các bản vẽ đã được hiển thị thành công trên màn hình.false— Các bản vẽ không thể được hiển thị trên màn hình.
Notes
Việc gọi lệnh
rendersẽ yêu cầu sử dụng lệnhrendercho phần còn lại của dự án.
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#
Báo cáo xem màn hình V5 Brain hiện có đang được nhấn hay không.
Available Functionsbool pressing();
Hàm này không chấp nhận bất kỳ tham số nào.
Return ValuesTrả về giá trị Boolean cho biết trạng thái hiện tại của màn hình khi được nhấn:true — Màn hình hiện đang được nhấn. hoặc false — Màn hình không được nhấn.
// 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#
Trả về tọa độ x của lần nhấn cuối cùng trên màn hình V5 Brain.
Available Functionsint32_t xPosition();
Hàm này không chấp nhận bất kỳ tham số nào.
Return ValuesTrả về một giá trị int32_t biểu thị tọa độ x, tính bằng pixel từ 0 đến 479, của lần nhấn màn hình cuối cùng.
// 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#
Trả về tọa độ y của lần nhấn cuối cùng trên màn hình V5 Brain.
Available Functionsint32_t yPosition();
Hàm này không chấp nhận bất kỳ tham số nào.
Return ValuesTrả về một giá trị int32_t biểu thị tọa độ y, tính bằng pixel từ 0 đến 239, của lần nhấn màn hình cuối cùng.
// 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#
Đăng ký một hàm sẽ được gọi khi màn hình V5 Brain được nhấn.
Available Functions1 — Gọi một hàm khi màn hình được nhấn.
void pressed( void (*callback)(void) );
Parameters2 — Gọi một hàm khi màn hình được nhấn và truyền một đối số do người dùng định nghĩa cho hàm gọi lại.
void pressed( void (*callback)(void*), void* arg );
Tham số |
Kiểu |
Sự miêu tả |
|---|---|---|
|
|
Một hàm được gọi khi nhấn vào màn hình. |
|
|
Một hàm được gọi khi nhấn vào màn hình và nhận một đối số do người dùng định nghĩa. |
|
|
Một giá trị do người dùng định nghĩa được truyền vào hàm gọi lại khi màn hình được nhấn. |
Hàm này không trả về giá trị nào.
NotesHàm gọi lại được thực thi mỗi khi màn hình Brain được nhấn.
Chỉ có thể đăng ký một hàm gọi lại tại một thời điểm; việc gọi lại hàm
pressedsẽ thay thế hàm gọi lại trước đó.Hàm gọi lại phải trả về
void.
Xác định hàm gọi lại (bên ngoài
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); }Đăng ký hàm gọi lại bên trong
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#
Đăng ký một hàm sẽ được gọi khi màn hình V5 Brain được nhả ra sau khi nhấn giữ.
Available Functions1 — Gọi một hàm khi màn hình được thả ra sau khi nhấn.
void released( void (*callback)(void) );
Parameters2 — Gọi một hàm khi màn hình được nhả ra sau khi nhấn và truyền một đối số do người dùng định nghĩa cho hàm gọi lại.
void released( void (*callback)(void*), void* arg );
Tham số |
Kiểu |
Sự miêu tả |
|---|---|---|
|
|
Một hàm được gọi khi người dùng thả chuột khỏi màn hình sau khi nhấn giữ. |
|
|
Một hàm được gọi khi người dùng nhả chuột khỏi màn hình sau khi nhấn giữ và nhận một đối số do người dùng định nghĩa. |
|
|
Một giá trị do người dùng định nghĩa được truyền đến hàm gọi lại khi màn hình được nhả ra sau khi nhấn giữ. |
Hàm này không trả về giá trị nào.
NotesHàm gọi lại được thực thi mỗi khi màn hình Brain được nhả ra sau khi nhấn giữ.
Chỉ có thể đăng ký một hàm gọi lại tại một thời điểm; việc gọi
releasedmột lần nữa sẽ thay thế hàm gọi lại trước đó.Hàm gọi lại phải trả về
void.
Xác định hàm gọi lại (bên ngoài
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); }Đăng ký hàm gọi lại bên trong
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); } }










