หน้าจอ#

การแนะนำ#

คลาส screen ได้รับมาจากคลาสพื้นฐาน brain โดยจะควบคุมวิธีการที่ EXP Brain แสดงข้อความ ตัวเลข และกราฟิกบนหน้าจอ

หน้าจอของ EXP Brain มีจำนวนแถวและคอลัมน์ที่กำหนดไว้สำหรับใช้ในการพิมพ์ข้อความบนหน้าจอ

โดยค่าเริ่มต้น ฟอนต์ที่ใช้ในการพิมพ์ไปยัง Brain คือ mono20 ซึ่งมี 7 แถวและ 20 คอลัมน์

สำหรับการวาดภาพ ความละเอียดของสมองจำลองนี้คือ 159 x 107 พิกเซล

แผนภาพตารางที่มีป้ายกำกับของหน้าจอ VEX Brain แสดงแถว คอลัมน์ ขนาดพิกเซล และพิกัด โดยมีเส้นสีแดงล้อมรอบตาราง

เข้าถึง#

สามารถเข้าถึงคลาส screen ได้โดย:

Brain.Screen

หมายเหตุ#

  • วัตถุ 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 EXP Brain
brain Brain = brain();

// Print text to the Brain screen
Brain.Screen.print("Hello!");

ฟังก์ชันสมาชิก#

คลาส screen ประกอบด้วยฟังก์ชันสมาชิกต่อไปนี้:

  • print — พิมพ์ข้อความ ตัวเลข หรือค่าบูลีนที่จัดรูปแบบแล้วลงบนหน้าจอ Brain

  • setCursor — ย้ายเคอร์เซอร์ข้อความไปยังแถวและคอลัมน์ที่ระบุ

  • newLine — ล้างส่วนที่เหลือของบรรทัดปัจจุบันและย้ายเคอร์เซอร์ไปยังบรรทัดถัดไป

  • clearLine — ล้างส่วนที่เหลือของบรรทัดปัจจุบันหรือล้างบรรทัดที่ระบุ

  • row — ส่งคืนแถวที่จะพิมพ์ข้อความ

  • column — ส่งคืนคอลัมน์ที่จะพิมพ์ข้อความ

  • getStringHeight — ส่งคืนความสูงของสตริงเป็นพิกเซลโดยใช้ฟอนต์ปัจจุบัน

  • getStringWidth — ส่งคืนความกว้างของสตริงเป็นพิกเซลโดยใช้ฟอนต์ปัจจุบัน

  • printAt — พิมพ์ข้อความที่จัดรูปแบบไว้ที่ตำแหน่งพิกเซล x, y (สามารถเลือกให้เป็นแบบทึบแสงได้)

  • clearScreen — ล้างหน้าจอทั้งหมด (เลือกสีที่ต้องการได้)

  • setFont — ตั้งค่าแบบอักษรที่ใช้สำหรับการพิมพ์บนหน้าจอ

  • setPenWidth — กำหนดความหนาของเส้นที่วาดและเส้นขอบของรูปร่าง

  • setPenColor — ตั้งค่าสีของข้อความ พิกเซล เส้น และเส้นขอบของรูปร่าง

  • setFillColor — กำหนดสีเติมสำหรับรูปทรงที่วาดและพื้นหลังข้อความที่พิมพ์

  • setOrigin — กำหนดจุดกำเนิดที่ใช้สำหรับพิกัดหน้าจอ

  • setClipRegion — จำกัดการแสดงผลบนหน้าจอให้อยู่ในพื้นที่สี่เหลี่ยมผืนผ้า

  • drawPixel — วาดพิกเซลหนึ่งพิกเซลที่พิกัด

  • drawLine — วาดเส้นระหว่างสองจุด

  • drawRectangle — วาดสี่เหลี่ยมผืนผ้าที่ตำแหน่ง x, y ด้วยขนาดที่ระบุ

  • drawCircle — วาดวงกลมที่ตำแหน่ง x, y ด้วยรัศมีที่กำหนด

  • drawImageFromFile — วาดภาพจากไฟล์การ์ด SD ลงบนหน้าจอ

  • render — เปิดใช้งานการบัฟเฟอร์คู่หรือเรนเดอร์บัฟเฟอร์ด้านหลังไปยังหน้าจอ

ก่อนเรียกใช้ฟังก์ชันสมาชิก screen ใดๆ จะต้องสร้างอินสแตนซ์ brain ก่อน ดังแสดงด้านล่าง:

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

print#

แสดงข้อความ ตัวเลข หรือค่าบูลีนบนหน้าจอ EXP 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
  • Output begins at the current cursor position on the screen.

  • ข้อความที่พิมพ์ใช้แบบอักษรปัจจุบันบนหน้าจอ

  • ข้อความที่พิมพ์ใช้สีปากกาปัจจุบัน

  • ข้อความที่พิมพ์ด้วยการพิมพ์ print จะพิมพ์โดยมีพื้นหลังเสมอ และสีพื้นหลังจะถูกกำหนดโดยสีเติมปัจจุบัน

  • เมื่อใช้สตริงรูปแบบ จำนวนและประเภทของค่าที่ส่งผ่านจะต้องตรงกับ ตัวระบุรูปแบบ ในสตริง

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

ภาพหน้าจอของ EXP Brain แสดงข้อความ Hello, Robot! พิมพ์อยู่มุมบนซ้ายของหน้าจอด้วยตัวอักษรสีขาว

setCursor#

ย้ายเคอร์เซอร์ไปยังแถวและคอลัมน์ที่ระบุบนหน้าจอ EXP Brain การเรียกใช้คำสั่ง print ครั้งถัดไปจะเริ่มต้นการพิมพ์ที่ตำแหน่งนั้น

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

Parameters

พารามิเตอร์

พิมพ์

คำอธิบาย

row

int32_t

แถวที่จะย้ายเคอร์เซอร์ไป

col

int32_t

คอลัมน์ที่จะย้ายเคอร์เซอร์ไป

Return Values

ฟังก์ชันนี้ไม่ส่งค่ากลับ

Notes
  • ส่งผลต่อตำแหน่งที่ข้อความเอาต์พุตถัดไปเริ่มต้นเมื่อใช้ print

  • แถวและคอลัมน์จะอิงตาม แบบอักษรหน้าจอที่ตั้งค่าไว้ในปัจจุบัน

  • แบบอักษรเริ่มต้น (mono20) ใช้ 12 แถวและ 48 คอลัมน์

  • การเรียกใช้ setCursor จะส่งผลต่อตำแหน่งของข้อความที่แสดงผลถัดไปเท่านั้น

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

ภาพหน้าจอของ EXP Brain ที่แสดงแถวที่ 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");

ภาพหน้าจอ EXP Brain แสดงข้อความสีขาวสองบรรทัดที่มุมบนซ้าย บรรทัดบนสุดเขียนว่า บรรทัดที่ 1 และบรรทัดที่สองด้านล่างเขียนว่า บรรทัดที่ 2

clearLine#

ลบข้อความออกจากแถวในหน้าจอ EXP 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&

Clears the row 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*

ล้างแถวโดยใช้ค่าสีฐานสิบหก (ตัวอย่างเช่น “#000000”)

hue

int

ล้างแถวโดยใช้ค่าเฉดสีที่เป็นจำนวนเต็มในช่วง 0–359ซึ่งแสดงถึงองศาต่างๆ รอบวงล้อสี

Return Values

ฟังก์ชันนี้ไม่ส่งค่ากลับ

Notes
  • การล้างบรรทัดจะไม่เปลี่ยนแปลงตำแหน่งเคอร์เซอร์ปัจจุบัน

  • ตำแหน่งเคอร์เซอร์และการกำหนดหมายเลขแถวจะถูกตั้งค่าโดยใช้ setCursor

  • ค่าพารามิเตอร์ hue นั้นอิงตามวงล้อสีแบบวงกลม ดังแสดงในภาพด้านล่าง โดยค่าต่างๆ แสดงถึงองศารอบวงล้อ (ตัวอย่างเช่น สีแดงอยู่ใกล้ 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#

ส่งคืนแถวที่ข้อความจะถูกพิมพ์บนหน้าจอ EXP 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, 10);
Brain.Screen.print(Brain.Screen.row());

ภาพหน้าจอ EXP Brain แสดงข้อความ 3 สีขาวในส่วนบนซ้ายของหน้าจอ ที่ตำแหน่งแถวที่ 3 คอลัมน์ที่ 10

column#

ส่งคืนคอลัมน์ที่ข้อความจะถูกพิมพ์บนหน้าจอ EXP Brain

Available Functions
int32_t column();

Parameters

ฟังก์ชันนี้ไม่รับพารามิเตอร์ใดๆ

Return Values

ส่งคืนค่า int32_t ซึ่งแสดงถึงคอลัมน์ที่จะพิมพ์ข้อความ

การกำหนดหมายเลขคอลัมน์เริ่มต้นที่หมายเลข 1

Notes
  • ตำแหน่งเคอร์เซอร์จะอิงตามแบบอักษรหน้าจอปัจจุบัน

  • ค่าที่ส่งกลับมาจะระบุตำแหน่งที่ผลลัพธ์การพิมพ์ครั้งต่อไปจะปรากฏ

  • ค่าคอลัมน์จะเปลี่ยนแปลงเมื่อมีการพิมพ์ข้อความหรือเมื่อมีการเรียกใช้ setCursor

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

ภาพหน้าจอ EXP Brain แสดงข้อความ 10 สีขาวในส่วนบนซ้ายของหน้าจอ ที่ตำแหน่งแถวที่ 3 คอลัมน์ที่ 10

getStringHeight#

ฟังก์ชันนี้จะส่งคืนความสูงของข้อความ (หน่วยเป็นพิกเซล) เมื่อแสดงผลบนหน้าจอ EXP Brain

Available Functions
int32_t getStringHeight( 
    const char* cstr );

Parameters

พารามิเตอร์

พิมพ์

คำอธิบาย

cstr

const char*

ข้อความที่จะวัด ระบุเป็น สตริงแบบ C (ตัวอย่างเช่น “Hello”)

Return Values

ส่งคืนค่า int32_t ซึ่งแสดงถึงความสูงของสตริงในหน่วยพิกเซลเมื่อแสดงผลบนหน้าจอ Brain

Notes
  • ความสูงที่ส่งคืนขึ้นอยู่กับแบบอักษรหน้าจอที่เลือกในปัจจุบัน

  • ฟังก์ชันนี้จะวัดความยาวของสตริงโดยไม่ต้องแสดงผลบนหน้าจอ

  • ค่าความสูงที่ส่งกลับมาจะแสดงให้เห็นว่าข้อความนั้นจะปรากฏอย่างไรเมื่อพิมพ์ออกมา

getStringWidth#

ฟังก์ชันนี้จะส่งคืนความกว้างของข้อความ (หน่วยเป็นพิกเซล) เมื่อแสดงผลบนหน้าจอ EXP Brain

Available Functions
int32_t getStringWidth( 
    const char* cstr );

Parameters

พารามิเตอร์

พิมพ์

คำอธิบาย

cstr

const char*

ข้อความที่จะวัด ระบุเป็น สตริงแบบ C (ตัวอย่างเช่น “Hello”)

Return Values

ส่งคืนค่า int32_t ซึ่งแสดงถึงความกว้างของสตริงในหน่วยพิกเซลเมื่อแสดงผลบนหน้าจอ Brain

Notes
  • The returned width depends on the currently selected screen font.

  • ฟังก์ชันนี้จะวัดความยาวของสตริงโดยไม่ต้องแสดงผลบนหน้าจอ

  • ค่าความกว้างที่ส่งคืนจะสะท้อนถึงลักษณะที่ข้อความจะปรากฏเมื่อพิมพ์ออกมา

printAt#

พิมพ์ข้อความ ตัวเลข หรือค่าบูลีน ณ พิกัดที่กำหนดบนหน้าจอ EXP Brain

Available Functions

1 — พิมพ์ผลลัพธ์ที่จัดรูปแบบแล้ว ณ ตำแหน่งพิกเซลที่ระบุ

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

2 — พิมพ์ผลลัพธ์ที่จัดรูปแบบแล้ว ณ ตำแหน่งพิกเซลที่ระบุ และตั้งค่าว่าพื้นหลังของข้อความจะเป็นแบบทึบหรือโปร่งใส

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*

สตริงรูปแบบที่ควบคุมสิ่งที่แสดงบนหน้าจอ (ตัวอย่างเช่น “Score: %d”)

…

ค่าเพิ่มเติมอย่างน้อยหนึ่งค่าที่แทรกเข้าไปในสตริงรูปแบบ โดยคั่นด้วยเครื่องหมายจุลภาค

Return Values

ฟังก์ชันนี้ไม่ส่งค่ากลับ

Notes
  • พิกัด x และ y สัมพันธ์กับจุดกำเนิดหน้าจอปัจจุบัน ซึ่งสามารถเปลี่ยนแปลงได้โดยใช้ setOrigin

  • ข้อความที่พิมพ์ใช้แบบอักษรปัจจุบันบนหน้าจอ

  • ข้อความที่พิมพ์ใช้สีปากกาปัจจุบัน

  • เมื่อใช้สตริงรูปแบบ จำนวนและประเภทของค่าที่ส่งผ่านจะต้องตรงกับ ตัวระบุรูปแบบ ในสตริง

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

clearScreen#

ลบภาพวาดและข้อความทั้งหมดออกจากหน้าจอของสมอง

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&

Clears the screen 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*

ล้างหน้าจอโดยใช้ค่าสีเลขฐานสิบหกที่แสดงเป็นสตริง (ตัวอย่างเช่น “#000000”)

hue

int

ล้างหน้าจอโดยใช้ค่าเฉดสีจำนวนเต็มในช่วง 0–359ซึ่งแสดงถึงองศาต่างๆ รอบวงล้อสี

Return Values

ฟังก์ชันนี้ไม่ส่งค่ากลับ

Notes
  • ค่าพารามิเตอร์ hue นั้นอิงตามวงล้อสีแบบวงกลม ดังแสดงในภาพด้านล่าง โดยค่าต่างๆ แสดงถึงองศารอบวงล้อ (ตัวอย่างเช่น สีแดงอยู่ใกล้ 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);

setFont#

ตั้งค่าแบบอักษรที่ใช้สำหรับข้อความที่แสดงบนหน้าจอ EXP Brain

สิ่งนี้จะควบคุมแบบอักษรที่ใช้กับข้อความเอาต์พุตถัดไปเมื่อใช้ฟังก์ชันข้อความหน้าจอ เช่น print

Available Functions
void setFont(
  fontType font );

Parameters

พารามิเตอร์

พิมพ์

คำอธิบาย

font

fontType

Sets the font to one of the following:

  • mono12
  • mono15
  • mono20
  • mono30
  • mono40
  • mono60
  • prop20
  • prop30
  • prop40
  • prop60
These options are shown below.

หน้าจอของสมองพิมพ์ตัวเลขและตัวอักษรด้วยขนาดตัวอักษรขาวดำ 12 แสดงตัวอักษร A ถึง Z และตัวเลขทั้งหมด ด้านล่างของหน้าจอระบุว่า 9 แถว 26 คอลัมน์
mono12

หน้าจอของสมองแสดงตัวเลขและตัวอักษรด้วยขนาดตัวอักษรขาวดำ 15 แสดงตัวอักษร A ถึง T และตัวเลขทั้งหมด ด้านล่างของหน้าจอระบุว่า 7 แถว 22 คอลัมน์
mono15

หน้าจอของสมองพิมพ์ตัวเลขและตัวอักษรด้วยขนาดตัวอักษรขาวดำ 20 แสดงตัวอักษร A ถึง P และตัวเลขทั้งหมด ด้านล่างของหน้าจอระบุว่า 5 แถว 16 คอลัมน์
mono20

ตัวเลขและตัวอักษรที่พิมพ์บนหน้าจอของสมองด้วยขนาดตัวอักษรขาวดำ 30 แสดงตัวอักษร A ถึง J ด้านล่างของหน้าจอเขียนว่า R:3 C:10
mono30

ตัวเลขและตัวอักษรที่พิมพ์บนหน้าจอของสมองด้วยขนาดตัวอักษรขาวดำ 40 ที่ด้านล่างของหน้าจอเขียนว่า R:2 C:8
mono40

ตัวเลขและตัวอักษรที่พิมพ์บนหน้าจอของสมองด้วยขนาดตัวอักษร mono 60 แสดงเฉพาะ MON60 เท่านั้น
mono60

หน้าจอของสมองพิมพ์ตัวเลขและตัวอักษรด้วยขนาดตัวอักษร prop 20 แสดงตัวอักษร A ถึง W และตัวเลขทั้งหมด ด้านล่างของหน้าจอระบุว่า 5 แถว 16 คอลัมน์
prop20

ตัวเลขและตัวอักษรที่พิมพ์บนหน้าจอของสมอง ใช้ฟอนต์ขนาด prop 30 แสดงตัวอักษร A ถึง P ด้านล่างของหน้าจอเขียนว่า R:3 C:10
prop30

ตัวเลขและตัวอักษรที่พิมพ์บนหน้าจอของสมองด้วยขนาดตัวอักษร prop 40 ที่ด้านล่างของหน้าจอเขียนว่า R:2 C:8
prop40

ตัวเลขและตัวอักษรที่พิมพ์บนหน้าจอของ The Brain ใช้ฟอนต์ขนาด prop 60 แสดงเฉพาะ PROP60 เท่านั้น
prop60

Return Values

ฟังก์ชันนี้ไม่ส่งค่ากลับ

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

ภาพหน้าจอ EXP Brain แสดงข้อความสีขาวที่อ่านว่า VEX ด้วยแบบอักษรที่ใหญ่กว่าค่าเริ่มต้น อยู่ที่มุมบนซ้าย

setPenWidth#

กำหนดความหนาของเส้นที่วาดและเส้นขอบของรูปทรง

Available Functions
void setPenWidth(
  uint32_t width );

Parameters

พารามิเตอร์

พิมพ์

คำอธิบาย

width

uint32_t

ความกว้างของปากกาในหน่วยพิกเซลอยู่ในช่วง 0 ถึง 32

Return Values

ฟังก์ชันนี้ไม่ส่งค่ากลับ

Notes
  • ความกว้างของปากกาใช้กับฟังก์ชันการวาด เช่น drawLine, drawRectangle และ drawCircle

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

ภาพหน้าจอ EXP Brain แสดงรูปสี่เหลี่ยมผืนผ้าที่มีเส้นขอบหนาพิมพ์อยู่ทางด้านซ้ายของหน้าจอ

setPenColor#

กำหนดสีปากกาที่ใช้สำหรับวาดเส้น รูปร่าง และข้อความ

Available Functions

1 — ตั้งค่าสีปากกาโดยใช้วัตถุที่กำหนดไว้ล่วงหน้าหรือ สีที่กำหนดเอง

void setPenColor(
    const color& color );

2 — กำหนดสีปากกาโดยใช้ค่าสีเลขฐานสิบหก

void setPenColor(
    const char* color );

3 — กำหนดสีปากกาโดยใช้ค่าเฉดสี

void setPenColor(
    int hue );

Parameters

พารามิเตอร์

พิมพ์

คำอธิบาย

color

const color&

Sets the pen color 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*

ตั้งค่าสีปากกาโดยใช้ค่าสีเลขฐานสิบหกที่แสดงเป็นสตริง (ตัวอย่างเช่น “#FF0000”)

hue

int

กำหนดสีของปากกาโดยใช้ค่าเฉดสีที่เป็นจำนวนเต็มในช่วง 0–359ซึ่งแสดงถึงองศาต่างๆ รอบวงล้อสี (ตัวอย่างเช่น 0 คือสีแดง 120 คือสีเขียว และ 240 คือสีน้ำเงิน)

Return Values

ฟังก์ชันนี้ไม่ส่งค่ากลับ

Notes
  • สีปากกาเริ่มต้นเมื่อเริ่มโปรเจ็กต์คือ white

  • สีของปากกาใช้สำหรับวาดเส้นขอบของรูปร่าง (เช่น ด้วย drawCircle หรือ drawRectangle), ข้อความและผลลัพธ์ตัวเลข (ด้วย print และ printAt) และพิกเซลแต่ละพิกเซลที่วาดด้วย drawPixel

  • ค่าพารามิเตอร์ hue นั้นอิงตามวงล้อสีแบบวงกลม ดังแสดงในภาพด้านล่าง โดยค่าต่างๆ แสดงถึงองศารอบวงล้อ (ตัวอย่างเช่น สีแดงอยู่ใกล้ 0° สีเขียวอยู่ใกล้ 120° และสีน้ำเงินอยู่ใกล้ 240°)

วงล้อสีแสดงช่วงสีตั้งแต่ 0 ถึง 359 โดยที่สีแดงคือ 0 สีเขียวคือ 120 และสีน้ำเงินคือ 240

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

ภาพหน้าจอ EXP 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&

Sets the fill color 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*

ตั้งค่าสีเติมโดยใช้ค่าสีฐานสิบหกที่แสดงเป็นสตริง (ตัวอย่างเช่น “#00FF00”)

hue

int

กำหนดสีเติมโดยใช้ค่าเฉดสีที่เป็นจำนวนเต็มในช่วง 0–359ซึ่งแสดงถึงองศาต่างๆ รอบวงล้อสี (ตัวอย่างเช่น 0 คือสีแดง 120 คือสีเขียว และ 240 คือสีน้ำเงิน)

Return Values

ฟังก์ชันนี้ไม่ส่งค่ากลับ

Notes
  • สีเติมเริ่มต้นเมื่อเริ่มโปรเจ็กต์คือ black

  • สีเติมใช้สำหรับส่วนภายในของรูปทรง (เช่นเดียวกับ drawCircle หรือ drawRectangle)

  • สีเติมจะใช้เป็นสีพื้นหลังสำหรับข้อความที่พิมพ์ (เช่นเดียวกับ print และ printAt)

    • ถ้าใช้ transparent กับข้อความที่พิมพ์ พื้นหลังจะเป็น black

  • ค่าพารามิเตอร์ hue นั้นอิงตามวงล้อสีแบบวงกลม ดังแสดงในภาพด้านล่าง โดยค่าต่างๆ แสดงถึงองศารอบวงล้อ (ตัวอย่างเช่น สีแดงอยู่ใกล้ 0° สีเขียวอยู่ใกล้ 120° และสีน้ำเงินอยู่ใกล้ 240°)

วงล้อสีแสดงช่วงสีตั้งแต่ 0 ถึง 359 โดยที่สีแดงคือ 0 สีเขียวคือ 120 และสีน้ำเงินคือ 240

Examples
// Draw a rectangle filled with purple
  Brain.Screen.setFillColor(purple);
  Brain.Screen.drawRectangle(20, 20, 75, 50);

ภาพหน้าจอ EXP Brain แสดงสี่เหลี่ยมผืนผ้าที่เต็มไปด้วยสีม่วงทางด้านซ้ายของหน้าจอ

setOrigin#

กำหนดจุดกำเนิดที่ใช้ในการวาดภาพกราฟิกบนหน้าจอของสมอง

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

Parameters

พารามิเตอร์

พิมพ์

คำอธิบาย

x

int32_t

ตำแหน่งแกน x ของจุดกำเนิดเมื่อเทียบกับมุมบนซ้ายของหน้าจอ Brain มีค่าตั้งแต่ 0 ถึง 159

y

int32_t

ตำแหน่งแกน y ของจุดกำเนิดเมื่อเทียบกับมุมบนซ้ายของหน้าจอ Brain ตั้งแต่ 0 ถึง 107

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 ถึง 159

y

int

พิกัด y ของมุมบนซ้ายของบริเวณที่ตัดออก ระบุเป็นจำนวนเต็มตั้งแต่ 0 ถึง 107

width

int

ความกว้างของบริเวณที่ต้องการตัดในหน่วยพิกเซล โดยระบุเป็นจำนวนเต็มตั้งแต่ 0 ถึง 159

height

int

ความสูงของบริเวณที่ตัดในหน่วยพิกเซล โดยระบุเป็นจำนวนเต็มตั้งแต่ 0 ถึง 107

Return Values

ฟังก์ชันนี้ไม่ส่งค่ากลับ

Notes
  • ฟังก์ชันการวาดภาพจะยังคงทำงานต่อไปแม้ว่าส่วนที่อยู่นอกขอบเขตการตัด แต่จะมองเห็นได้เฉพาะส่วนที่อยู่ภายในขอบเขตเท่านั้น

  • พิกัด x และ y สัมพันธ์กับจุดกำเนิดหน้าจอปัจจุบัน ซึ่งสามารถเปลี่ยนแปลงได้โดยใช้ setOrigin

  • ขอบเขตการหนีบใช้ได้เฉพาะกับเธรดปัจจุบันเท่านั้น

  • การกำหนดขอบเขตการตัดใหม่จะแทนที่ขอบเขตการตัดที่ตั้งไว้ก่อนหน้านี้สำหรับกระทู้ปัจจุบัน

Examples

drawPixel#

วาดพิกเซลหนึ่งพิกเซลบนหน้าจอ EXP Brain ณ ตำแหน่งพิกเซล x และ y ที่เลือกไว้

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

Parameters

พารามิเตอร์

พิมพ์

คำอธิบาย

x

int

พิกัด x ที่จะใช้ในการวาดพิกเซล โดยระบุเป็นจำนวนเต็มตั้งแต่ 0 ถึง 159

y

int

พิกัด y ที่จะใช้ในการวาดพิกเซล โดยระบุเป็นจำนวนเต็มตั้งแต่ 0 ถึง 107

Return Values

ฟังก์ชันนี้ไม่ส่งค่ากลับ

Notes
  • พิกเซลจะถูกวาดโดยใช้สีปากกาปัจจุบันที่ตั้งไว้ด้วย setPenColor

  • พิกัด x และ y สัมพันธ์กับจุดกำเนิดหน้าจอปัจจุบัน ซึ่งสามารถตั้งค่าได้โดยใช้ setOrigin

  • หากตำแหน่งพิกเซลที่ระบุอยู่นอกขอบเขตของหน้าจอ พิกเซลนั้นจะไม่ถูกวาด

Examples
// Draw the pixels marking the corners of a square
Brain.Screen.drawPixel(50, 50);
Brain.Screen.drawPixel(50, 75);
Brain.Screen.drawPixel(75, 50);
Brain.Screen.drawPixel(75, 75);

ภาพหน้าจอ EXP Brain แสดงพิกเซลหลากหลายที่แสดงมุมของสี่เหลี่ยมจัตุรัสใกล้กึ่งกลางหน้าจอ

drawLine#

ลากเส้นตรงเชื่อมจุดสองจุดบนหน้าจอ EXP Brain

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

Parameters

พารามิเตอร์

พิมพ์

คำอธิบาย

x1

int

พิกัด x เริ่มต้นของเส้นตรง ระบุเป็นจำนวนเต็มตั้งแต่ 0 ถึง 159

y1

int

พิกัด y เริ่มต้นของเส้นตรง ระบุเป็นจำนวนเต็มตั้งแต่ 0 ถึง 107

x2

int

พิกัด x สุดท้ายของเส้นตรง ระบุเป็นจำนวนเต็มตั้งแต่ 0 ถึง 159

y2

int

พิกัด y สุดท้ายของเส้นตรง ระบุเป็นจำนวนเต็มตั้งแต่ 0 ถึง 107

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, 159, 107);

ภาพหน้าจอ EXP Brain แสดงเส้นทแยงมุมบาง ๆ ลากผ่านตรงกลาง จากมุมบนซ้ายไปยังมุมล่างขวา

drawRectangle#

วาดรูปสี่เหลี่ยมผืนผ้าบนหน้าจอ EXP Brain ณ ตำแหน่งและขนาดที่ระบุ

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 — Draws and fills a rectangle using a predefined or custom color object.

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 — วาดและเติมสีลงในสี่เหลี่ยมผืนผ้าโดยใช้ค่าสี (hue value)

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

Parameters

พารามิเตอร์

พิมพ์

คำอธิบาย

x

int

พิกัด x ของมุมบนซ้ายของสี่เหลี่ยมผืนผ้า ระบุเป็นจำนวนเต็มตั้งแต่ 0 ถึง 159

y

int

พิกัด y ของมุมบนซ้ายของสี่เหลี่ยมผืนผ้า ระบุเป็นจำนวนเต็มตั้งแต่ 0 ถึง 107

width

int

ความกว้างของสี่เหลี่ยมผืนผ้า ระบุเป็นจำนวนเต็มตั้งแต่ 0 ถึง 159

height

int

ความสูงของสี่เหลี่ยมผืนผ้า กำหนดเป็นจำนวนเต็มตั้งแต่ 0 ถึง 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*

เติมสีลงในสี่เหลี่ยมผืนผ้าโดยใช้ค่าสีเลขฐานสิบหก (ตัวอย่างเช่น “#FF0000”)

hue

int

เติมสีลงในสี่เหลี่ยมผืนผ้าโดยใช้ค่าเฉดสีในช่วง 0–359

Return Values

ฟังก์ชันนี้ไม่ส่งค่ากลับ

Notes
  • เส้นขอบสี่เหลี่ยมจะถูกวาดโดยใช้สีปากกาปัจจุบันที่ตั้งค่าด้วย setPenColor

  • ความหนาของเส้นขอบจะถูกกำหนดโดยความกว้างของปากกาปัจจุบันที่ตั้งไว้ด้วย setPenWidth

  • เมื่อไม่มีการระบุพารามิเตอร์สี color ภายในสี่เหลี่ยมจะถูกเติมโดยใช้สีเติมปัจจุบันที่ตั้งไว้ด้วย setFillColor

  • พิกัด x และ y สัมพันธ์กับจุดกำเนิดหน้าจอปัจจุบัน ซึ่งสามารถเปลี่ยนแปลงได้โดยใช้ setOrigin

  • หากส่วนใดส่วนหนึ่งของสี่เหลี่ยมผืนผ้าอยู่นอกขอบเขตหน้าจอ จะวาดเฉพาะส่วนที่มองเห็นได้เท่านั้น

  • ค่าพารามิเตอร์ hue นั้นอิงตามวงล้อสีแบบวงกลม ดังแสดงในภาพด้านล่าง โดยค่าต่างๆ แสดงถึงองศารอบวงล้อ (ตัวอย่างเช่น สีแดงอยู่ใกล้ 0° สีเขียวอยู่ใกล้ 120° และสีน้ำเงินอยู่ใกล้ 240°)

วงล้อสีแสดงช่วงสีตั้งแต่ 0 ถึง 359 โดยที่สีแดงคือ 0 สีเขียวคือ 120 และสีน้ำเงินคือ 240

Examples
// Draw a rectangle on the screen
Brain.Screen.drawRectangle(20, 20, 80, 30);

ภาพหน้าจอของ EXP Brain แสดงสี่เหลี่ยมผืนผ้าที่มีขอบสีขาวบาง ๆ พิมพ์อยู่ในช่องด้านบนซ้าย

drawCircle#

วาดวงกลมบนหน้าจอ EXP Brain ณ ตำแหน่งและรัศมีที่กำหนด

Available Functions

1 — Draws and fills a circle using the currently configured fill color.

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

2 — Draws and fills a circle using a predefined or custom color object.

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 ถึง 159

y

int

พิกัด y ของจุดศูนย์กลางของวงกลม ระบุเป็นจำนวนเต็มตั้งแต่ 0 ถึง 107

radius

int

รัศมีของวงกลม ระบุเป็นจำนวนเต็มตั้งแต่ 0 ถึง 107 พิกเซล

color

const color&

Fills the circle 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*

เติมสีลงในวงกลมโดยใช้ค่าสีเลขฐานสิบหก (ตัวอย่างเช่น “#FF0000”)

hue

int

เติมสีลงในวงกลมโดยใช้ค่าเฉดสีในช่วง 0–359

Return Values

ฟังก์ชันนี้ไม่ส่งค่ากลับ

Notes
  • เส้นขอบวงกลมถูกวาดโดยใช้สีปากกาปัจจุบันที่ตั้งค่าด้วย setPenColor

  • ความหนาของเส้นขอบจะถูกกำหนดโดยความกว้างของปากกาปัจจุบันที่ตั้งไว้ด้วย setPenWidth

  • เมื่อไม่มีการระบุพารามิเตอร์สี color ภายในวงกลมจะถูกเติมโดยใช้สีเติมปัจจุบันที่ตั้งไว้ด้วย setFillColor

  • พิกัด x และ y สัมพันธ์กับจุดกำเนิดหน้าจอปัจจุบัน ซึ่งสามารถเปลี่ยนแปลงได้โดยใช้ setOrigin

  • ค่าพารามิเตอร์ hue นั้นอิงตามวงล้อสีแบบวงกลม ดังแสดงในภาพด้านล่าง โดยค่าต่างๆ แสดงถึงองศารอบวงล้อ (ตัวอย่างเช่น สีแดงอยู่ใกล้ 0° สีเขียวอยู่ใกล้ 120° และสีน้ำเงินอยู่ใกล้ 240°)

วงล้อสีแสดงช่วงสีตั้งแต่ 0 ถึง 359 โดยที่สีแดงคือ 0 สีเขียวคือ 120 และสีน้ำเงินคือ 240

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

ภาพหน้าจอ EXP Brain แสดงวงกลมที่มีเส้นขอบสีขาวบางๆ วาดอยู่ตรงกลาง

drawImageFromFile#

วาดภาพบนหน้าจอ EXP Brain โดยใช้ไฟล์ภาพที่จัดเก็บไว้ใน การ์ด SD

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

Parameters

พารามิเตอร์

พิมพ์

คำอธิบาย

name

const char*

ชื่อไฟล์ของรูปภาพบนการ์ด SD ไฟล์ต้องมีนามสกุล .bmp หรือ .png

x

int

พิกัด x ในหน่วยพิกเซล ตั้งแต่ 0 ถึง 159 ซึ่งเป็นตำแหน่งที่ขอบด้านซ้ายของภาพจะถูกวาด

y

int

ค่าพิกัด y ในหน่วยพิกเซล ตั้งแต่ 0 ถึง 107 ซึ่งเป็นตำแหน่งที่ขอบบนของภาพจะถูกวาด

Return Values

ส่งคืนค่าบูลีนที่ระบุว่าภาพถูกวาดสำเร็จหรือไม่:

  • true — โหลดภาพและวาดลงบนหน้าจอสำเร็จ
  • false — ไม่สามารถวาดภาพได้ (เช่น ไฟล์ไม่มีอยู่หรือไม่ถูกต้อง)

Notes
  • รูปแบบไฟล์ภาพที่รองรับได้แก่ .bmp และ .png

  • ขนาดไฟล์ภาพต้องไม่เกิน 512 KB

    • แนะนำให้ใช้การเข้ารหัส RLE 8 บิต เพื่อลดขนาดไฟล์ให้เหลือน้อยที่สุด

  • ขนาดภาพสูงสุดที่รองรับคือขนาดหน้าจอของโปรแกรม Brain (ประมาณ 159 x 107 พิกเซล)

  • พิกัด 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 เมื่อเรียกใช้แล้ว ฟังก์ชันการวาดใดๆ (เช่น ข้อความ รูปร่าง หรือรูปภาพ) จะไม่ปรากฏขึ้นทันทีในส่วนที่เหลือของโปรเจ็กต์อีกต่อไป แต่การอัปเดตจะแสดงขึ้นก็ต่อเมื่อใช้คำสั่ง render อีกครั้งเท่านั้น ซึ่งจะช่วยให้การอัปเดตหน้าจอราบรื่นและควบคุมได้ดียิ่งขึ้น แต่หมายความว่าจะไม่มีอะไรปรากฏให้เห็นจนกว่าจะใช้คำสั่ง render

Available Functions

1 — เปิดใช้งานการบัฟเฟอร์คู่ หรือแสดงผลบัฟเฟอร์ด้านหลังไปยังหน้าจอ

bool render();

2 — แสดงผลบัฟเฟอร์ด้านหลังไปยังหน้าจอ พร้อมควบคุมพฤติกรรมการซิงค์แนวตั้ง และการเรียกใช้ตัวกำหนดเวลา (ถ้ามี)

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

Parameters

พารามิเตอร์

พิมพ์

คำอธิบาย

bVsyncWait

bool

​

  • true — รอให้หน้าจอรีเฟรชแนวตั้งก่อนแสดงผลเพื่อลดปัญหาภาพฉีกขาด
  • false — ไม่ต้องรอให้หน้าจอรีเฟรชแนวตั้งก่อนแสดงผล

bRunScheduler

bool

ตัวเลือกเสริม

  • true (ค่าเริ่มต้น) — อนุญาตให้งานเบื้องหลังทำงานในขณะที่รอการแสดงผล
  • false — ไม่อนุญาตให้งานเบื้องหลังทำงานในขณะที่รอการแสดงผล

Return Values

ส่งคืนค่าบูลีนที่ระบุว่าภาพวาดที่บันทึกไว้ในบัฟเฟอร์แสดงผลบนหน้าจอสำเร็จหรือไม่:

  • true — ภาพวาดแสดงผลบนหน้าจอสำเร็จ
  • false — ภาพวาดไม่สามารถแสดงผลบนหน้าจอได้
  • Notes
    • การเรียกใช้คำสั่ง render render จะต้องใช้คำสั่ง 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();