Màn hình#

Giới thiệu#

Lớp screen được kế thừa từ lớp cơ sở brain. Nó kiểm soát cách IQ (thế hệ thứ nhất) Brain hiển thị văn bản và giá trị trên màn hình tích hợp của nó.

Màn hình IQ (thế hệ thứ nhất) hỗ trợ tối đa 5 hàng và 21 cột văn bản.

Bộ não VEX IQ (thế hệ thứ nhất) với lớp phủ lưới được đánh số (cột 1–21 và hàng 1–5). Các đường phủ màu đỏ làm nổi bật cấu trúc lưới, với các mũi tên đánh dấu Cột 1, Cột 21, Hàng 1, Hàng 2 và Hàng 5. Hàng đầu tiên hiển thị các số từ 1 đến 21 ở phía trên.

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 Brain object, so screen functions are called using Brain.Screen.

Ví dụ#

/* This constructor is required when using VS Code.
A Brain is generated automatically at the start of
VEXcode projects. */

// Create the 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 (tùy chọn mờ đục).

  • clearScreen — Xóa toàn bộ màn hình (tùy chọn thành một màu được chỉ định).

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

  • render — Cho phép đệm kép hoặc hiển thị bộ đệm phía sau lên màn hình.

Before calling any screen member functions, a brain instance must be created, as shown below:

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

print#

Hiển thị văn bản, số hoặc giá trị Boolean trên màn hình IQ (thế hệ thứ nhất) Brain.

Available Functions

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

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

Parameters

Tham số

Kiểu

Sự miêu tả

format

const char*

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ụ: “Score: %d”).

format

char*

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.

Return Values

Hàm này không trả về giá trị nào.

Notes
  • Quá 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 phông chữ màn hình hiện tại là .

  • 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 print luô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.

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

setCursor#

Moves the cursor to a specific row and column on the IQ (1st gen) Brain screen. The next print call will start printing at that location.

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

Parameters

Tham số

Kiểu

Sự miêu tả

row

int32_t

Hàng cần di chuyển con trỏ đến.

col

int32_t

Cột cần di chuyển con trỏ đến.

Return Values

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.

  • Việc gọi hàm setCursor chỉ ảnh hưởng đến vị trí của đoạn văn bản được xuất ra sau đó.

Examples
// Print at row 3 column 7
Brain.Screen.setCursor(3, 7);
Brain.Screen.print("VEXcode!");

Màn hình não IQ (thế hệ thứ nhất) hiển thị văn bản ở giữa có nội dung “VEXcode!”.

newLine#

Di chuyển con trỏ đến đầu hàng tiếp theo trên màn hình Brain.

Available Functions
void newLine();

Parameters

Hàm này không chấp nhận bất kỳ tham số nào.

Return Values

Hàm này không trả về giá trị nào.

Notes
  • Nếu con trỏ nằm ở giữa câu, lệnh newLine sẽ 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.

Examples
// Display two lines of text
Brain.Screen.print("First message");
Brain.Screen.newLine();
Brain.Screen.print("Second message");

Màn hình não IQ (thế hệ thứ nhất) hiển thị “Thông điệp thứ nhất” và “Thông điệp thứ hai” trên các dòng riêng biệt.

clearLine#

Xóa văn bản khỏi một hàng trên màn hình IQ (thế hệ thứ nhất) Brain.

Available Functions

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

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

Parameters

Tham số

Kiểu

Sự miêu tả

number

int

Số hàng cần xóa. Số hàng bắt đầu từ 1.

color

const color&

Xóa hàng bằng cách sử dụng đối tượng màu color Các màu được xác định trước bao gồm:

  • black
  • white
  • red
  • green
  • blue
  • yellow
  • orange
  • purple
  • cyan
  • transparent
Điều này cũng có thể sử dụng đối tượng màu tùy chỉnh.

color

const char*

Xóa hàng bằng cách sử dụng giá trị màu thập lục phân (ví dụ: “#000000”).

hue

int

Xóa hàng bằng cách sử dụng giá trị sắc độ nguyên trong phạm vi 0–359, biểu thị độ xung quanh vòng tròn màu.

Return Values

Hàm này không trả về giá trị nào.

Notes
  • Xó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.

  • Màn hình IQ (thế hệ thứ nhất) là màn hình đơn sắc, do đó các màu được chỉ định sẽ không hiển thị trên màn hình.

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#

Trả về vị trí hàng con trỏ hiện tại trên màn hình IQ (thế hệ thứ nhất) Brain.

Available Functions
int32_t row();

Parameters

Hàm này không chấp nhận bất kỳ tham số nào.

Return Values

Trả 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.

Notes
  • Vị trí con trỏ dựa trên phông chữ màn hình hiện tại .

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

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

column#

Trả về cột chứa văn bản sẽ được in trên màn hình IQ (thế hệ thứ nhất) Brain.

Available Functions
int32_t column();

Parameters

Hàm này không chấp nhận bất kỳ tham số nào.

Return Values

Trả 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.

Notes
  • Vị trí con trỏ dựa trên phông chữ màn hình hiện tại .

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

Examples
// Display the cursor's current column
Brain.Screen.print("column: ", 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 IQ (thế hệ thứ nhất) Brain.

Available Functions
int32_t getStringHeight( 
    const char* cstr );

Parameters

Tham số

Kiểu

Sự miêu tả

cstr

const char*

Văn bản cần đo được cung cấp dưới dạng chuỗi kiểu C (ví dụ: “Hello”).

Return Values

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.

Notes
  • 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 IQ (thế hệ thứ nhất) Brain.

Available Functions
int32_t getStringWidth( 
    const char* cstr );

Parameters

Tham số

Kiểu

Sự miêu tả

cstr

const char*

Văn bản cần đo được cung cấp dưới dạng chuỗi kiểu C (ví dụ: “Hello”).

Return Values

Trả về một giá trị int32_t biểu thị chiều rộng của chuỗi tính bằng pixel khi được hiển thị trên màn hình Brain.

Notes
  • 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 IQ (thế hệ thứ nhất) Brain.

Available Functions

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

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

Parameters

Tham số

Kiểu

Sự miêu tả

x

int32_t

Vị trí x cần in, được tham chiếu đến gốc tọa độ màn hình.

y

int32_t

Vị trí trục y để in, được tham chiếu đến gốc tọa độ màn hình.

bOpaque

bool

Điều khiển xem văn bản in được vẽ mờ hay trong suốt:

  • true — Nền của văn bản in được tô bằng màu tô hiện tại.
  • false — Văn bản được vẽ trong suốt và nền không được tô.

format

const char*

Chuỗi định dạng kiểm soát những gì được in trên màn hình (ví dụ: “Score: %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.

Return Values

Hàm này không trả về giá trị nào.

Notes
  • Tọa độ x và y là 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ụng setOrigin.

  • Văn bản in sử dụng phông chữ màn hình hiện tại là .

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

Examples
// Print the number 1 at pixel (100, 40)
Brain.Screen.printAt(100, 40, 1);

clearScreen#

Xóa tất cả hình vẽ và văn bản khỏi màn hình của Brain.

Available Functions

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

4 — Xóa màn hình bằng cách sử dụng giá trị màu sắc.

void clearScreen(
    int hue );

Parameters

Tham số

Kiểu

Sự miêu tả

color

const color&

Xóa màn hình bằng cách sử dụng đối tượng màu color Các màu được xác định trước bao gồm:

  • black
  • white
  • red
  • green
  • blue
  • yellow
  • orange
  • purple
  • cyan
  • transparent
Điều này cũng có thể sử dụng đối tượng màu tùy chỉnh.

color

const char*

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ụ: “#000000”).

hue

int

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 0–359, biểu thị độ xung quanh vòng tròn màu.

Return Values

Hàm này không trả về giá trị nào.

Notes
  • Màn hình IQ (thế hệ thứ nhất) là màn hình đơn sắc, do đó các màu được chỉ định sẽ không hiển thị trên màn hình.

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

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 IQ (thế hệ thứ nhất) 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.

Available Functions
void setFont(
  fontType font );

Parameters

Tham số

Kiểu

Sự miêu tả

font

fontType

Thiết lập phông chữ thành một trong các tùy chọn sau:

  • mono12
  • mono15
  • mono20
  • mono30
  • mono40
  • mono60
  • prop20
  • prop30
  • prop40
  • prop60
Các tùy chọn này được hiển thị bên dưới.

Return Values

Hàm này không trả về giá trị nào.

Examples
// Display two different fonts on
// two separate lines
Brain.Screen.setFont(mono20);
Brain.Screen.print("Mono Medium");
Brain.Screen.newLine();
Brain.Screen.setFont(prop20);
Brain.Screen.print("Prop Medium");

setPenWidth#

Thiết lập độ dày của các đường vẽ và đường viền hình dạng.

Available Functions
void setPenWidth(
  uint32_t width );

Parameters

Tham số

Kiểu

Sự miêu tả

width

uint32_t

Độ rộng của bút, tính bằng pixel, từ 0 đến 32.

Return Values

Hàm này không trả về giá trị nào.

Notes Examples
// Draw a circle with a pen width of 5
Brain.Screen.drawCircle(40, 70, 20);
Brain.Screen.setPenWidth(5);
Brain.Screen.drawCircle(100, 70, 20);

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 Functions

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

3 — Đặt màu bút bằng cách sử dụng giá trị sắc độ.

void setPenColor(
    int hue );

Parameters

Tham số

Kiểu

Sự miêu tả

color

const color&

Thiết lập màu bút bằng cách sử dụng đối tượng color Các màu được xác định trước bao gồm:

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

color

const char*

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ụ: “#FF0000”).

hue

int

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 0–359, biểu thị độ xung quanh vòng tròn màu (ví dụ: 0 là màu đỏ, 120 là màu xanh lá cây và 240 là màu xanh lam).

Return Values

Hàm này không trả về giá trị nào.

Notes
  • Màn hình IQ (thế hệ thứ nhất) là màn hình đơn sắc, do đó các màu được chỉ định sẽ không hiển thị trên màn hình.

Examples
Brain.Screen.drawRectangle(100, 50, 10, 20);
Brain.Screen.setPenColor(blue);
Brain.Screen.drawRectangle(50, 50, 10, 20);

setFillColor#

Thiết lập màu nền được sử dụng khi vẽ các hình dạng.

Available Functions

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

3 — Đặt màu tô bằng cách sử dụng giá trị sắc độ.

void setFillColor(
    int hue );

Parameters

Tham số

Kiểu

Sự miêu tả

color

const color&

Thiết lập màu nền bằng cách sử dụng đối tượng color Các màu được xác định trước bao gồm:

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

color

const char*

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ụ: “#00FF00”).

hue

int

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 0–359, biểu thị độ xung quanh vòng tròn màu (ví dụ: 0 là màu đỏ, 120 là màu xanh lá cây và 240 là màu xanh lam).

Return Values

Hàm này không trả về giá trị nào.

Notes
  • Màn hình IQ (thế hệ thứ nhất) là màn hình đơn sắc, do đó các màu được chỉ định sẽ không hiển thị trên màn hình.

Examples
// Draw a circle filled with yellow
Brain.Screen.setFillColor(yellow);
Brain.Screen.drawCircle(50, 50, 20);

setOrigin#

Thiết lập điểm gốc được sử dụng để vẽ đồ họa trên màn hình của bộ não.

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

Parameters

Tham số

Kiểu

Sự miêu tả

x

int32_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 của Brain, từ 0 đến 159.

y

int32_t

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 của Brain từ 0 đến 107.

Return Values

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

Parameters

Tham số

Kiểu

Sự miêu tả

x

int

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

y

int

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

width

int

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

height

int

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

Return Values

Hàm này không trả về giá trị nào.

Notes
  • Cá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 độ x và y là 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ụng setOrigin.

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

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

drawPixel#

Vẽ một điểm ảnh duy nhất trên màn hình IQ (thế hệ thứ nhất) Brain tại vị trí điểm ảnh x và y được chỉ định.

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

Parameters

Tham số

Kiểu

Sự miêu tả

x

int

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

y

int

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

Return Values

Hàm này không trả về giá trị nào.

Notes
  • Màn hình IQ (thế hệ thứ nhất) là màn hình đơn sắc, do đó các màu được chỉ định sẽ không hiển thị trên màn hình.

  • Tọa độ x và y là tương đối so với gốc tọa độ màn hình hiện tại, có thể được thiết lập bằng cách sử dụng setOrigin.

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

Examples
// Draw one pixel at the center 
// of the screen
Brain.Screen.drawPixel(80, 50);

drawLine#

Vẽ một đường thẳng nối hai điểm trên màn hình IQ (thế hệ thứ nhất) Brain.

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

Parameters

Tham số

Kiểu

Sự miêu tả

x1

int

Tọa độ x ban đầu của đường thẳng, được biểu thị bằng một số nguyên từ 0 đến 159.

y1

int

Tọa độ y ban đầu của đường thẳng, được biểu thị bằng một số nguyên từ 0 đến 107.

x2

int

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

y2

int

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

Return Values

Hàm này không trả về giá trị nào.

Notes
  • Màn hình IQ (thế hệ thứ nhất) là màn hình đơn sắc, do đó các màu được chỉ định sẽ không hiển thị trên màn hình.

  • Độ 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 độ x và y là tương đối so với gốc tọa độ màn hình hiện tại, có thể được thiết lập bằng cách sử dụng setOrigin.

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

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

drawRectangle#

Vẽ một hình chữ nhật trên màn hình IQ (thế hệ thứ nhất) Brain tại vị trí và kích thước đã chỉ định.

Available Functions

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

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

Parameters

Tham số

Kiểu

Sự miêu tả

x

int

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

y

int

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

width

int

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

height

int

Chiều cao của hình chữ nhật, được biểu thị bằng một số nguyên từ 0 đến 107.

color

const color&

Fills the rectangle using a color object. Predefined colors include:

  • black
  • white
  • red
  • green
  • blue
  • yellow
  • orange
  • purple
  • cyan
  • transparent
This can also use a custom color object.

color

const char*

Tô màu hình chữ nhật bằng giá trị màu thập lục phân (ví dụ: “#FF0000”).

hue

int

Tô màu hình chữ nhật bằng giá trị màu trong khoảng 0–359.

Return Values

Hàm này không trả về giá trị nào.

Notes
  • Màn hình IQ (thế hệ thứ nhất) là màn hình đơn sắc, do đó các màu được chỉ định sẽ không hiển thị trên màn hình.

  • Độ dày đường viền được xác định bởi độ rộng bút hiện tại được đặt bằng setPenWidth.

  • Tọa độ x và y là 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ụng setOrigin.

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

Examples
// Draw a red rectangle on the screen
Brain.Screen.drawRectangle(25, 25, 100, 50, red);

drawCircle#

Vẽ một vòng tròn trên màn hình IQ (thế hệ thứ nhất) Brain tại vị trí và bán kính đã chỉ định.

Available Functions

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

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

Parameters

Tham số

Kiểu

Sự miêu tả

x

int

Tọa độ x của tâm đường tròn, được biểu thị bằng một số nguyên từ 0 đến 159.

y

int

Tọa độ y của tâm đường tròn, được biểu thị bằng một số nguyên từ 0 đến 107.

radius

int

Bán kính của hình tròn, được biểu thị bằng một số nguyên từ 0 đến 107 pixel.

color

const color&

Tô đầy hình tròn bằng cách sử dụng đối tượng màu color Các màu được xác định trước bao gồm:

  • black
  • white
  • red
  • green
  • blue
  • yellow
  • orange
  • purple
  • cyan
  • transparent
Điều này cũng có thể sử dụng đối tượng màu tùy chỉnh.

color

const char*

Tô màu hình tròn bằng giá trị màu thập lục phân (ví dụ: “#FF0000”).

hue

int

Tô màu hình tròn bằng giá trị màu trong khoảng 0–359.

Return Values

Hàm này không trả về giá trị nào.

Notes
  • Màn hình IQ (thế hệ thứ nhất) là màn hình đơn sắc, do đó các màu được chỉ định sẽ không hiển thị trên màn hình.

  • Độ dày đường viền được xác định bởi độ rộng bút hiện tại được đặt bằng setPenWidth.

  • Tọa độ x và y là 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ụng setOrigin.

Examples
// Draw a green circle on the screen
Brain.Screen.drawCircle(80, 50, 20, green);

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 hoặc hình dạng) 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.

Available Functions

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

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

Parameters

Tham số

Kiểu

Sự miêu tả

bVsyncWait

bool

​

  • true — Chờ màn hình làm mới theo chiều dọc trước khi hiển thị để giảm hiện tượng xé hình.
  • false — Không chờ màn hình làm mới theo chiều dọc trước khi hiển thị.

bRunScheduler

bool

Tùy chọn.

  • true (mặc định) — Cho phép các tác vụ nền chạy trong khi chờ hiển thị.
  • false — Không cho phép các tác vụ nền chạy trong khi chờ hiển thị.

Return Values

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 render sẽ yêu cầu sử dụng lệnh render cho phần còn lại của dự án.

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