หน้าจอ#
การแนะนำ#
คลาส screen ได้รับมาจากคลาสพื้นฐาน brain โดยจะควบคุมวิธีการที่ IQ (รุ่นที่ 1) Brain แสดงข้อความและค่าต่างๆ บนหน้าจอในตัว
เครื่องตรวจวัดระดับสติปัญญา IQ (รุ่นที่ 1) รองรับข้อความได้สูงสุด 5 แถวและ 21 คอลัมน์

เข้าถึง#
สามารถเข้าถึงคลาส 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 Brain
brain Brain = brain();
// Print text to the Brain screen
Brain.Screen.print("Hello!");
ฟังก์ชันสมาชิก#
คลาส screen ประกอบด้วยฟังก์ชันสมาชิกต่อไปนี้:
print— พิมพ์ข้อความ ตัวเลข หรือค่าบูลีนที่จัดรูปแบบแล้วลงบนหน้าจอ BrainsetCursor— ย้ายเคอร์เซอร์ข้อความไปยังแถวและคอลัมน์ที่ระบุnewLine— ล้างส่วนที่เหลือของบรรทัดปัจจุบันและย้ายเคอร์เซอร์ไปยังบรรทัดถัดไปclearLine— ล้างส่วนที่เหลือของบรรทัดปัจจุบันหรือล้างบรรทัดที่ระบุrow— ส่งคืนแถวที่จะพิมพ์ข้อความcolumn— ส่งคืนคอลัมน์ที่จะพิมพ์ข้อความgetStringHeight— ส่งคืนความสูงของสตริงเป็นพิกเซลโดยใช้ฟอนต์ปัจจุบันgetStringWidth— ส่งคืนความกว้างของสตริงเป็นพิกเซลโดยใช้ฟอนต์ปัจจุบันprintAt— พิมพ์ข้อความที่จัดรูปแบบไว้ที่ตำแหน่งพิกเซล x, y (สามารถเลือกให้เป็นแบบทึบแสงได้)clearScreen— ล้างหน้าจอทั้งหมด (เลือกสีที่ต้องการได้)setFont— ตั้งค่าแบบอักษรที่ใช้สำหรับการพิมพ์บนหน้าจอsetPenWidth— กำหนดความหนาของเส้นที่วาดและเส้นขอบของรูปร่างsetPenColor— ตั้งค่าสีของข้อความ พิกเซล เส้น และเส้นขอบของรูปร่างsetFillColor— กำหนดสีเติมสำหรับรูปทรงที่วาดและพื้นหลังข้อความที่พิมพ์setOrigin— กำหนดจุดกำเนิดที่ใช้สำหรับพิกัดหน้าจอsetClipRegion— จำกัดการแสดงผลบนหน้าจอให้อยู่ในพื้นที่สี่เหลี่ยมผืนผ้าdrawPixel— วาดพิกเซลหนึ่งพิกเซลที่พิกัดdrawLine— วาดเส้นระหว่างสองจุดdrawRectangle— วาดสี่เหลี่ยมผืนผ้าที่ตำแหน่ง x, y ด้วยขนาดที่ระบุdrawCircle— วาดวงกลมที่ตำแหน่ง x, y ด้วยรัศมีที่กำหนดrender— เปิดใช้งานการบัฟเฟอร์คู่หรือเรนเดอร์บัฟเฟอร์ด้านหลังไปยังหน้าจอ
ก่อนเรียกใช้ฟังก์ชันสมาชิก screen ใดๆ จะต้องสร้างอินสแตนซ์ brain ก่อน ดังแสดงด้านล่าง:
// Create the Brain
brain Brain = brain();
print#
แสดงข้อความ ตัวเลข หรือค่าบูลีนบนหน้าจอ IQ (รุ่นที่ 1)
Available Functions1 — พิมพ์ข้อความที่จัดรูปแบบโดยใช้สตริงลิเทอรัลหรือสตริงแบบอ่านอย่างเดียวสไตล์ C
void print( const char* format, ... );
Parameters2 — พิมพ์ข้อความที่จัดรูปแบบโดยใช้ชุดอักขระที่สามารถแก้ไขได้
void print( char* format, ... );
พารามิเตอร์ |
พิมพ์ |
คำอธิบาย |
|---|---|---|
|
|
สตริงรูปแบบที่ระบุเป็นสตริงตัวอักษรหรือสตริงแบบอ่านอย่างเดียวสไตล์ C (ตัวอย่างเช่น |
|
|
สตริงรูปแบบที่ให้มาในรูปแบบอาร์เรย์อักขระที่สามารถแก้ไขได้ |
|
ค่าเพิ่มเติมอย่างน้อยหนึ่งค่าที่แทรกเข้าไปในสตริงรูปแบบ โดยคั่นด้วยเครื่องหมายจุลภาค |
ฟังก์ชันนี้ไม่ส่งค่ากลับ
NotesOutput begins at the current cursor position on the screen.
ข้อความที่พิมพ์ด้วยการพิมพ์
printจะพิมพ์โดยมีพื้นหลังเสมอ และสีพื้นหลังจะถูกกำหนดโดยสีเติมปัจจุบันเมื่อใช้สตริงรูปแบบ จำนวนและประเภทของค่าที่ส่งผ่านจะต้องตรงกับ ตัวระบุรูปแบบ ในสตริง
// Display a message at the starting cursor
Brain.Screen.print("Hello, Robot!");
setCursor#
ย้ายเคอร์เซอร์ไปยังแถวและคอลัมน์ที่ระบุบนหน้าจอ IQ (รุ่นที่ 1) การพิมพ์ print ไปจะเริ่มพิมพ์ที่ตำแหน่งนั้น
void setCursor(
int32_t row,
int32_t col );
พารามิเตอร์ |
พิมพ์ |
คำอธิบาย |
|---|---|---|
|
|
แถวที่จะย้ายเคอร์เซอร์ไป |
|
|
คอลัมน์ที่จะย้ายเคอร์เซอร์ไป |
ฟังก์ชันนี้ไม่ส่งค่ากลับ
Notesส่งผลต่อตำแหน่งที่ข้อความเอาต์พุตถัดไปเริ่มต้นเมื่อใช้
printแถวและคอลัมน์จะอิงตาม แบบอักษรหน้าจอที่ตั้งค่าไว้ในปัจจุบัน
การเรียกใช้
setCursorจะส่งผลต่อตำแหน่งของข้อความที่แสดงผลถัดไปเท่านั้น
// Print at row 3 column 7
Brain.Screen.setCursor(3, 7);
Brain.Screen.print("VEXcode!");

newLine#
ย้ายเคอร์เซอร์ไปที่ต้นแถวถัดไปบนหน้าจอ Brain
Available Functionsvoid newLine();
ฟังก์ชันนี้ไม่รับพารามิเตอร์ใดๆ
Return Valuesฟังก์ชันนี้ไม่ส่งค่ากลับ
Notesหากเคอร์เซอร์อยู่กลางประโยค คำสั่ง
newLineจะล้างส่วนที่เหลือของแถวหลังเคอร์เซอร์ก่อนที่จะย้ายไปยังแถวถัดไปหลังจากเรียก
newLineแล้ว เคอร์เซอร์จะถูกวางไว้ที่คอลัมน์แรกของบรรทัดถัดไปตำแหน่งเคอร์เซอร์และการกำหนดหมายเลขแถวจะถูกตั้งค่าโดยใช้
setCursor
// Display two lines of text
Brain.Screen.print("First message");
Brain.Screen.newLine();
Brain.Screen.print("Second message");

clearLine#
ลบข้อความออกจากแถวบนหน้าจอทดสอบ IQ (รุ่นที่ 1)
Available Functions1 — ล้างส่วนที่เหลือของบรรทัดปัจจุบันจากตำแหน่งเคอร์เซอร์
void clearLine();
2 — ล้างแถวที่ระบุโดยใช้ สีเติม ที่กำหนดค่าไว้ในปัจจุบัน
void clearLine( int number );
3 — ล้างแถวที่ระบุโดยใช้สีที่กำหนดไว้ล่วงหน้าหรือวัตถุ สีที่กำหนดเอง
void clearLine( int number, const color& color );
4 — ล้างแถวที่ระบุโดยใช้ค่าสีเลขฐานสิบหก
void clearLine( int number, const char* color );
Parameters5 — ล้างแถวที่ระบุโดยใช้ค่าสี
void clearLine( int number, int hue );
พารามิเตอร์ |
พิมพ์ |
คำอธิบาย |
|---|---|---|
|
|
หมายเลขแถวที่จะล้าง การกำหนดหมายเลขแถวเริ่มต้นที่ |
|
|
Clears the row using a
|
|
|
ล้างแถวโดยใช้ค่าสีเลขฐานสิบหก (ตัวอย่างเช่น |
|
|
ล้างแถวโดยใช้ค่าเฉดสีที่เป็นจำนวนเต็มในช่วง |
ฟังก์ชันนี้ไม่ส่งค่ากลับ
Notesการล้างบรรทัดจะไม่เปลี่ยนแปลงตำแหน่งเคอร์เซอร์ปัจจุบัน
ตำแหน่งเคอร์เซอร์และการกำหนดหมายเลขแถวจะถูกตั้งค่าโดยใช้
setCursorหน้าจอแสดงผล IQ (รุ่นที่ 1) เป็นจอแสดงผลขาวดำ ดังนั้นสีบางสีจะไม่ปรากฏบนหน้าจอ
// 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#
ส่งคืนตำแหน่งแถวปัจจุบันของเคอร์เซอร์บนหน้าจอ IQ (รุ่นที่ 1)
Available Functionsint32_t row();
ฟังก์ชันนี้ไม่รับพารามิเตอร์ใดๆ
Return Valuesส่งคืนค่า int32_t ซึ่งแสดงถึงแถวที่จะพิมพ์ข้อความ
การกำหนดหมายเลขแถวเริ่มต้นที่หมายเลข 1
Notesค่าที่ส่งกลับมาจะระบุตำแหน่งที่ผลลัพธ์การพิมพ์ครั้งต่อไปจะปรากฏ
ค่าแถวจะเปลี่ยนแปลงเมื่อมีการพิมพ์ข้อความหรือเมื่อมีการเรียกใช้
setCursor
// Display the cursor's current row
Brain.Screen.setCursor(3, 12);
Brain.Screen.print("row: ", Brain.Screen.row());
column#
ส่งคืนคอลัมน์ที่ข้อความจะถูกพิมพ์บนหน้าจอทดสอบ IQ (รุ่นที่ 1)
Available Functionsint32_t column();
ฟังก์ชันนี้ไม่รับพารามิเตอร์ใดๆ
Return Valuesส่งคืนค่า int32_t ซึ่งแสดงถึงคอลัมน์ที่จะพิมพ์ข้อความ
การกำหนดหมายเลขคอลัมน์เริ่มต้นที่หมายเลข 1
Notesค่าที่ส่งกลับมาจะระบุตำแหน่งที่ผลลัพธ์การพิมพ์ครั้งต่อไปจะปรากฏ
ค่าคอลัมน์จะเปลี่ยนแปลงเมื่อมีการพิมพ์ข้อความหรือเมื่อมีการเรียกใช้
setCursor
// Display the cursor's current column
Brain.Screen.print("column: ", Brain.Screen.column());
getStringHeight#
ส่งคืนค่าความสูง (หน่วยเป็นพิกเซล) ของข้อความเมื่อแสดงผลบนหน้าจอ IQ Brain (รุ่นที่ 1)
Available Functionsint32_t getStringHeight(
const char* cstr );
พารามิเตอร์ |
พิมพ์ |
คำอธิบาย |
|---|---|---|
|
|
ข้อความที่จะวัด ระบุเป็น สตริงแบบ C (ตัวอย่างเช่น |
ส่งคืนค่า int32_t ซึ่งแสดงถึงความสูงของสตริงในหน่วยพิกเซลเมื่อแสดงผลบนหน้าจอ Brain
getStringWidth#
ฟังก์ชันนี้จะส่งคืนความกว้าง (หน่วยเป็นพิกเซล) ของข้อความเมื่อแสดงผลบนหน้าจอ IQ Brain (รุ่นที่ 1)
Available Functionsint32_t getStringWidth(
const char* cstr );
พารามิเตอร์ |
พิมพ์ |
คำอธิบาย |
|---|---|---|
|
|
ข้อความที่จะวัด ระบุเป็น สตริงแบบ C (ตัวอย่างเช่น |
ส่งคืนค่า int32_t ซึ่งแสดงถึงความกว้างของสตริงในหน่วยพิกเซลเมื่อแสดงผลบนหน้าจอ Brain
The returned width depends on the currently selected screen font.
ฟังก์ชันนี้จะวัดความยาวของสตริงโดยไม่ต้องแสดงผลบนหน้าจอ
ค่าความกว้างที่ส่งคืนจะสะท้อนถึงลักษณะที่ข้อความจะปรากฏเมื่อพิมพ์ออกมา
printAt#
พิมพ์ข้อความ ตัวเลข หรือค่าบูลีน ณ พิกัดที่กำหนดบนหน้าจอ IQ (รุ่นที่ 1)
Available Functions1 — พิมพ์ผลลัพธ์ที่จัดรูปแบบแล้ว ณ ตำแหน่งพิกเซลที่ระบุ
void printAt( int32_t x, int32_t y, const char* format, ... );
Parameters2 — พิมพ์ผลลัพธ์ที่จัดรูปแบบแล้ว ณ ตำแหน่งพิกเซลที่ระบุ และตั้งค่าว่าพื้นหลังของข้อความจะเป็นแบบทึบหรือโปร่งใส
void printAt( int32_t x, int32_t y, bool bOpaque, const char* format, ... );
พารามิเตอร์ |
พิมพ์ |
คำอธิบาย |
|---|---|---|
|
|
ตำแหน่ง x ที่จะใช้ในการพิมพ์ โดยอ้างอิงจากจุดกำเนิดของหน้าจอ |
|
|
ตำแหน่งแกน y ที่จะใช้ในการพิมพ์ โดยอ้างอิงจากจุดกำเนิดของหน้าจอ |
|
|
ควบคุมว่าข้อความที่พิมพ์จะถูกวาดแบบทึบแสงหรือโปร่งใส:
|
|
|
สตริงรูปแบบที่ควบคุมสิ่งที่แสดงบนหน้าจอ (ตัวอย่างเช่น |
|
ค่าเพิ่มเติมอย่างน้อยหนึ่งค่าที่แทรกเข้าไปในสตริงรูปแบบ โดยคั่นด้วยเครื่องหมายจุลภาค |
ฟังก์ชันนี้ไม่ส่งค่ากลับ
Notesพิกัด
xและyสัมพันธ์กับจุดกำเนิดหน้าจอปัจจุบัน ซึ่งสามารถเปลี่ยนแปลงได้โดยใช้setOriginเมื่อใช้สตริงรูปแบบ จำนวนและประเภทของค่าที่ส่งผ่านจะต้องตรงกับ ตัวระบุรูปแบบ ในสตริง
// Print the number 1 at pixel (100, 40)
Brain.Screen.printAt(100, 40, 1);
clearScreen#
ลบภาพวาดและข้อความทั้งหมดออกจากหน้าจอของสมอง
Available Functions1 — ล้างหน้าจอให้เป็นสีดำ
void clearScreen();
2 — ล้างหน้าจอโดยใช้วัตถุที่กำหนดไว้ล่วงหน้าหรือ สีที่กำหนดเอง
void clearScreen( const color& color );
3 — ล้างหน้าจอโดยใช้ค่าสีเลขฐานสิบหก
void clearScreen( const char* color );
Parameters4 — ล้างหน้าจอโดยใช้ค่าเฉดสี
void clearScreen( int hue );
พารามิเตอร์ |
พิมพ์ |
คำอธิบาย |
|---|---|---|
|
|
Clears the screen using a
|
|
|
ล้างหน้าจอโดยใช้ค่าสีเลขฐานสิบหกที่แสดงเป็นสตริง (ตัวอย่างเช่น |
|
|
ล้างหน้าจอโดยใช้ค่าเฉดสีจำนวนเต็มในช่วง |
ฟังก์ชันนี้ไม่ส่งค่ากลับ
Notesหน้าจอแสดงผล IQ (รุ่นที่ 1) เป็นจอแสดงผลขาวดำ ดังนั้นสีบางสีจะไม่ปรากฏบนหน้าจอ
// 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#
ตั้งค่าแบบอักษรที่ใช้สำหรับข้อความที่แสดงบนหน้าจอ IQ (รุ่นที่ 1)
สิ่งนี้จะควบคุมแบบอักษรที่ใช้กับข้อความเอาต์พุตถัดไปเมื่อใช้ฟังก์ชันข้อความหน้าจอ เช่น print
void setFont(
fontType font );
พารามิเตอร์ |
พิมพ์ |
คำอธิบาย |
|---|---|---|
|
|
Sets the font to one of the following:
|
ฟังก์ชันนี้ไม่ส่งค่ากลับ
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#
กำหนดความหนาของเส้นที่วาดและเส้นขอบของรูปทรง
Available Functionsvoid setPenWidth(
uint32_t width );
พารามิเตอร์ |
พิมพ์ |
คำอธิบาย |
|---|---|---|
|
|
ความกว้างของปากกา (หน่วยเป็นพิกเซล) มีค่าตั้งแต่ 0 ถึง 32 |
ฟังก์ชันนี้ไม่ส่งค่ากลับ
Notesความกว้างของปากกาใช้กับฟังก์ชันการวาด เช่น
drawLine,drawRectangleและdrawCircle
// 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#
กำหนดสีของข้อความ พิกเซล เส้น และเส้นขอบของรูปทรง
Available Functions1 — ตั้งค่าสีปากกาโดยใช้วัตถุที่กำหนดไว้ล่วงหน้าหรือ สีที่กำหนดเอง
void setPenColor( const color& color );
2 — กำหนดสีปากกาโดยใช้ค่าสีเลขฐานสิบหก
void setPenColor( const char* color );
Parameters3 — กำหนดสีปากกาโดยใช้ค่าเฉดสี
void setPenColor( int hue );
พารามิเตอร์ |
พิมพ์ |
คำอธิบาย |
|---|---|---|
|
|
กำหนดสีปากกาโดยใช้ออบเจ็กต์สี
|
|
|
ตั้งค่าสีปากกาโดยใช้ค่าสีเลขฐานสิบหกที่แสดงเป็นสตริง (ตัวอย่างเช่น |
|
|
กำหนดสีของปากกาโดยใช้ค่าเฉดสีที่เป็นจำนวนเต็มในช่วง |
ฟังก์ชันนี้ไม่ส่งค่ากลับ
Notesหน้าจอแสดงผล IQ (รุ่นที่ 1) เป็นจอแสดงผลขาวดำ ดังนั้นสีบางสีจะไม่ปรากฏบนหน้าจอ
Brain.Screen.drawRectangle(100, 50, 10, 20);
Brain.Screen.setPenColor(blue);
Brain.Screen.drawRectangle(50, 50, 10, 20);
setFillColor#
กำหนดสีเติมที่จะใช้เมื่อวาดรูปทรง
Available Functions1 — กำหนดสีเติมโดยใช้ออบเจ็กต์ที่กำหนดไว้ล่วงหน้าหรือ สีที่กำหนดเอง
void setFillColor( const color& color );
2 — กำหนดสีเติมโดยใช้ค่าสีฐานสิบหก
void setFillColor( const char* color );
Parameters3__ — กำหนดสีเติมโดยใช้ค่าเฉดสี
void setFillColor( int hue );
พารามิเตอร์ |
พิมพ์ |
คำอธิบาย |
|---|---|---|
|
|
กำหนดสีเติมโดยใช้ออบเจ็กต์สี
|
|
|
ตั้งค่าสีเติมโดยใช้ค่าสีฐานสิบหกที่แสดงเป็นสตริง (ตัวอย่างเช่น |
|
|
กำหนดสีเติมโดยใช้ค่าเฉดสีที่เป็นจำนวนเต็มในช่วง |
ฟังก์ชันนี้ไม่ส่งค่ากลับ
Notesหน้าจอแสดงผล IQ (รุ่นที่ 1) เป็นจอแสดงผลขาวดำ ดังนั้นสีบางสีจะไม่ปรากฏบนหน้าจอ
// Draw a circle filled with yellow
Brain.Screen.setFillColor(yellow);
Brain.Screen.drawCircle(50, 50, 20);
setOrigin#
กำหนดจุดกำเนิดที่ใช้ในการวาดภาพกราฟิกบนหน้าจอของสมอง
Available Functionsvoid setOrigin(
int32_t x,
int32_t y );
พารามิเตอร์ |
พิมพ์ |
คำอธิบาย |
|---|---|---|
|
|
ตำแหน่งแกน x ของจุดกำเนิดเมื่อเทียบกับมุมบนซ้ายของหน้าจอ Brain มีค่าตั้งแต่ 0 ถึง 159 |
|
|
ตำแหน่งแกน y ของจุดกำเนิดเมื่อเทียบกับมุมบนซ้ายของหน้าจอ Brain ตั้งแต่ 0 ถึง 107 |
ฟังก์ชันนี้ไม่ส่งค่ากลับ
Notesจุดกำเนิดเริ่มต้นคือมุมบนซ้ายของหน้าจอที่พิกัด (0, 0)
จุดกำเนิดนี้ใช้กับฟังก์ชันพิกัด เช่น
drawLine,drawRectangle,drawCircle, และprintAtค่าเริ่มต้นจะมีผลจนกว่าจะมีการเปลี่ยนแปลงอีกครั้งหรือมีการรีเซ็ตโปรเจกต์
setClipRegion#
กำหนดพื้นที่สี่เหลี่ยมผืนผ้าบนหน้าจอซึ่งจะจำกัดภาพวาดและข้อความทั้งหมดไว้ เนื้อหาใดๆ ที่อยู่นอกพื้นที่นี้จะไม่แสดงผล
Available Functionsvoid setClipRegion(
int x,
int y,
int width,
int height );
พารามิเตอร์ |
พิมพ์ |
คำอธิบาย |
|---|---|---|
|
|
พิกัด x ของมุมบนซ้ายของบริเวณที่ตัดออก ระบุเป็นจำนวนเต็มตั้งแต่ 0 ถึง 159 |
|
|
พิกัด y ของมุมบนซ้ายของบริเวณที่ตัดออก ระบุเป็นจำนวนเต็มตั้งแต่ 0 ถึง 107 |
|
|
ความกว้างของบริเวณที่ต้องการตัดในหน่วยพิกเซล โดยระบุเป็นจำนวนเต็มตั้งแต่ 0 ถึง 159 |
|
|
ความสูงของบริเวณที่ตัดในหน่วยพิกเซล โดยระบุเป็นจำนวนเต็มตั้งแต่ 0 ถึง 107 |
ฟังก์ชันนี้ไม่ส่งค่ากลับ
Notesฟังก์ชันการวาดภาพจะยังคงทำงานต่อไปแม้ว่าส่วนที่อยู่นอกขอบเขตการตัด แต่จะมองเห็นได้เฉพาะส่วนที่อยู่ภายในขอบเขตเท่านั้น
พิกัด
xและyสัมพันธ์กับจุดกำเนิดหน้าจอปัจจุบัน ซึ่งสามารถเปลี่ยนแปลงได้โดยใช้setOriginขอบเขตการหนีบใช้ได้เฉพาะกับเธรดปัจจุบันเท่านั้น
การกำหนดขอบเขตการตัดใหม่จะแทนที่ขอบเขตการตัดที่ตั้งไว้ก่อนหน้านี้สำหรับกระทู้ปัจจุบัน
// 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#
วาดพิกเซลเดียวบนหน้าจอ IQ (รุ่นที่ 1) Brain ณ ตำแหน่งพิกเซล x และ y ที่ระบุ
Available Functionsvoid drawPixel(
int x,
int y );
พารามิเตอร์ |
พิมพ์ |
คำอธิบาย |
|---|---|---|
|
|
พิกัด x ที่จะใช้ในการวาดพิกเซล โดยระบุเป็นจำนวนเต็มตั้งแต่ 0 ถึง 159 |
|
|
พิกัด y ที่จะใช้ในการวาดพิกเซล โดยระบุเป็นจำนวนเต็มตั้งแต่ 0 ถึง 107 |
ฟังก์ชันนี้ไม่ส่งค่ากลับ
Notesหน้าจอแสดงผล IQ (รุ่นที่ 1) เป็นจอแสดงผลขาวดำ ดังนั้นสีบางสีจะไม่ปรากฏบนหน้าจอ
พิกัด
xและyสัมพันธ์กับจุดกำเนิดหน้าจอปัจจุบัน ซึ่งสามารถตั้งค่าได้โดยใช้setOriginหากตำแหน่งพิกเซลที่ระบุอยู่นอกขอบเขตของหน้าจอ พิกเซลนั้นจะไม่ถูกวาด
// Draw one pixel at the center
// of the screen
Brain.Screen.drawPixel(80, 50);
drawLine#
ลากเส้นตรงเชื่อมจุดสองจุดบนหน้าจอทดสอบไอคิว (รุ่นที่ 1)
Available Functionsvoid drawLine(
int x1,
int y1,
int x2,
int y2 );
พารามิเตอร์ |
พิมพ์ |
คำอธิบาย |
|---|---|---|
|
|
พิกัด x เริ่มต้นของเส้นตรง ระบุเป็นจำนวนเต็มตั้งแต่ 0 ถึง 159 |
|
|
พิกัด y เริ่มต้นของเส้นตรง ระบุเป็นจำนวนเต็มตั้งแต่ 0 ถึง 107 |
|
|
พิกัด x สุดท้ายของเส้นตรง ระบุเป็นจำนวนเต็มตั้งแต่ 0 ถึง 159 |
|
|
พิกัด y สุดท้ายของเส้นตรง ระบุเป็นจำนวนเต็มตั้งแต่ 0 ถึง 107 |
ฟังก์ชันนี้ไม่ส่งค่ากลับ
Notesหน้าจอแสดงผล IQ (รุ่นที่ 1) เป็นจอแสดงผลขาวดำ ดังนั้นสีบางสีจะไม่ปรากฏบนหน้าจอ
ความกว้างของเส้นจะถูกกำหนดโดยความกว้างของปากกาปัจจุบันที่ตั้งไว้ด้วย
setPenWidthพิกัด
xและyสัมพันธ์กับจุดกำเนิดหน้าจอปัจจุบัน ซึ่งสามารถตั้งค่าได้โดยใช้setOriginหากส่วนใดส่วนหนึ่งของเส้นอยู่นอกขอบเขตหน้าจอ จะวาดเฉพาะส่วนที่มองเห็นได้เท่านั้น
// Draw a line from the top left to
// bottom right of the screen
Brain.Screen.drawLine(0, 0, 159, 107);
drawRectangle#
วาดรูปสี่เหลี่ยมผืนผ้าบนหน้าจอ IQ (รุ่นที่ 1) ณ ตำแหน่งและขนาดที่กำหนด
Available Functions1 — 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 );
Parameters4 — วาดและเติมสีลงในสี่เหลี่ยมผืนผ้าโดยใช้ค่าสี (hue value)
void drawRectangle( int x, int y, int width, int height, int hue );
พารามิเตอร์ |
พิมพ์ |
คำอธิบาย |
|---|---|---|
|
|
พิกัด x ของมุมบนซ้ายของสี่เหลี่ยมผืนผ้า ระบุเป็นจำนวนเต็มตั้งแต่ 0 ถึง 159 |
|
|
พิกัด y ของมุมบนซ้ายของสี่เหลี่ยมผืนผ้า ระบุเป็นจำนวนเต็มตั้งแต่ 0 ถึง 107 |
|
|
ความกว้างของสี่เหลี่ยมผืนผ้า ระบุเป็นจำนวนเต็มตั้งแต่ 0 ถึง 159 |
|
|
ความสูงของสี่เหลี่ยมผืนผ้า กำหนดเป็นจำนวนเต็มตั้งแต่ 0 ถึง 107 |
|
|
Fills the rectangle using a
|
|
|
เติมสีลงในสี่เหลี่ยมผืนผ้าโดยใช้ค่าสีเลขฐานสิบหก (ตัวอย่างเช่น |
|
|
เติมสีลงในสี่เหลี่ยมผืนผ้าโดยใช้ค่าเฉดสีในช่วง |
ฟังก์ชันนี้ไม่ส่งค่ากลับ
Notesหน้าจอแสดงผล IQ (รุ่นที่ 1) เป็นจอแสดงผลขาวดำ ดังนั้นสีบางสีจะไม่ปรากฏบนหน้าจอ
ความหนาของเส้นขอบจะถูกกำหนดโดยความกว้างของปากกาปัจจุบันที่ตั้งไว้ด้วย
setPenWidthพิกัด
xและyสัมพันธ์กับจุดกำเนิดหน้าจอปัจจุบัน ซึ่งสามารถเปลี่ยนแปลงได้โดยใช้setOriginหากส่วนใดส่วนหนึ่งของสี่เหลี่ยมผืนผ้าอยู่นอกขอบเขตหน้าจอ จะวาดเฉพาะส่วนที่มองเห็นได้เท่านั้น
// Draw a red rectangle on the screen
Brain.Screen.drawRectangle(25, 25, 100, 50, red);
drawCircle#
วาดวงกลมบนหน้าจอ IQ (รุ่นที่ 1) ณ ตำแหน่งและรัศมีที่กำหนด
Available Functions1 — 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 );
Parameters4 — วาดและเติมสีวงกลมโดยใช้ค่าเฉดสี
void drawCircle( int x, int y, int radius, int hue );
พารามิเตอร์ |
พิมพ์ |
คำอธิบาย |
|---|---|---|
|
|
พิกัด x ของจุดศูนย์กลางของวงกลม ระบุเป็นจำนวนเต็มตั้งแต่ 0 ถึง 159 |
|
|
พิกัด y ของจุดศูนย์กลางของวงกลม ระบุเป็นจำนวนเต็มตั้งแต่ 0 ถึง 107 |
|
|
รัศมีของวงกลม ระบุเป็นจำนวนเต็มตั้งแต่ 0 ถึง 107 พิกเซล |
|
|
Fills the circle using a
|
|
|
เติมสีลงในวงกลมโดยใช้ค่าสีเลขฐานสิบหก (ตัวอย่างเช่น |
|
|
เติมสีลงในวงกลมโดยใช้ค่าเฉดสีในช่วง |
ฟังก์ชันนี้ไม่ส่งค่ากลับ
Notesหน้าจอแสดงผล IQ (รุ่นที่ 1) เป็นจอแสดงผลขาวดำ ดังนั้นสีบางสีจะไม่ปรากฏบนหน้าจอ
ความหนาของเส้นขอบจะถูกกำหนดโดยความกว้างของปากกาปัจจุบันที่ตั้งไว้ด้วย
setPenWidthพิกัด
xและyสัมพันธ์กับจุดกำเนิดหน้าจอปัจจุบัน ซึ่งสามารถเปลี่ยนแปลงได้โดยใช้setOrigin
// Draw a green circle on the screen
Brain.Screen.drawCircle(80, 50, 20, green);
render#
เปิดใช้งานการบัฟเฟอร์คู่สำหรับหน้าจอของ Brain เมื่อเรียกใช้แล้ว ฟังก์ชันการวาดใดๆ (เช่น ข้อความหรือรูปทรง) จะไม่ปรากฏขึ้นทันทีในส่วนที่เหลือของโปรเจ็กต์อีกต่อไป แต่การอัปเดตจะแสดงขึ้นก็ต่อเมื่อใช้คำสั่ง render อีกครั้งเท่านั้น ซึ่งจะช่วยให้การอัปเดตหน้าจอราบรื่นและควบคุมได้ดียิ่งขึ้น แต่หมายความว่าจะไม่มีอะไรปรากฏให้เห็นจนกว่าจะใช้คำสั่ง render
1 — เปิดใช้งานการบัฟเฟอร์คู่ หรือแสดงผลบัฟเฟอร์ด้านหลังไปยังหน้าจอ
bool render();
Parameters2 — แสดงผลบัฟเฟอร์ด้านหลังไปยังหน้าจอ พร้อมควบคุมพฤติกรรมการซิงค์แนวตั้ง และการเรียกใช้ตัวกำหนดเวลา (ถ้ามี)
bool render( bool bVsyncWait, bool bRunScheduler = true );
พารามิเตอร์ |
พิมพ์ |
คำอธิบาย |
|---|---|---|
|
|
|
|
|
ตัวเลือกเสริม
|
ส่งคืนค่าบูลีนที่ระบุว่าภาพวาดที่บันทึกไว้ในบัฟเฟอร์แสดงผลบนหน้าจอสำเร็จหรือไม่:
true— ภาพวาดแสดงผลบนหน้าจอสำเร็จfalse— ภาพวาดไม่สามารถแสดงผลบนหน้าจอได้
Notes
การเรียกใช้คำสั่ง render
renderจะต้องใช้คำสั่ง renderrenderสำหรับส่วนที่เหลือของโปรเจ็กต์
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();