หน้าจอ#

การแนะนำ#

เมธอดของหน้าจอจะควบคุมวิธีการแสดงข้อความ ตัวเลข กราฟิก และรูปภาพบนหน้าจอของตัวควบคุมโดรน VEX AIR รวมถึงวิธีการตอบสนองต่อการกดบนหน้าจอ

ด้านล่างนี้คือรายการวิธีการที่มีให้เลือกใช้:

การพิมพ์ด้วยเคอร์เซอร์ – แสดงข้อความและจัดการเคอร์เซอร์การพิมพ์

  • print – พิมพ์ข้อความ ตัวเลข หรือค่าตัวแปร ณ ตำแหน่งเคอร์เซอร์ปัจจุบัน

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

  • next_row – ย้ายเคอร์เซอร์ไปที่คอลัมน์ที่ 1 ของแถวถัดไป

  • clear_row – ล้างข้อความหนึ่งแถว

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

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

การพิมพ์แบบ XY – พิมพ์ข้อความที่พิกัดพิกเซล

  • print_at – พิมพ์ข้อความ ตัวเลข หรือค่าตัวแปรที่พิกัด x และ y ที่ระบุ

  • set_origin – กำหนดจุดกำเนิดที่ใช้สำหรับการพิมพ์และการวาดตามพิกัด

ตัวปรับแต่ง – เปลี่ยนการตั้งค่าหน้าจอ สี และลักษณะการวาดภาพ

  • clear_screen – ล้างภาพวาด ข้อความ และรูปภาพทั้งหมดออกจากหน้าจอควบคุม

  • wait_for_render – สลับการวาดหน้าจอเป็นพฤติกรรมการเรนเดอร์ภายหลัง

  • set_font – ตั้งค่าแบบอักษรสำหรับข้อความที่พิมพ์

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

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

  • set_text_fill_color – กำหนดสีพื้นหลังให้กับข้อความที่พิมพ์

  • set_fill_color – กำหนดสีเติมสำหรับรูปทรงที่วาด

วาด – เพิ่มกราฟิกและรูปภาพลงบนหน้าจอ

  • draw_pixel – วาดพิกเซลหนึ่งพิกเซลที่ตำแหน่ง x และ y ที่กำหนด

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

  • draw_rectangle – วาดสี่เหลี่ยมผืนผ้าโดยใช้ปากกาและสีเติมปัจจุบัน

  • draw_circle – วาดวงกลมโดยใช้ปากกาและสีเติมปัจจุบัน

  • show_file – วาดภาพที่อัปโหลด

ระบบสัมผัส – ตรวจจับและตอบสนองต่อการกดบนหน้าจอ

  • pressing – ส่งคืนว่าหน้าจอกำลังถูกกดอยู่หรือไม่

  • x_position – ส่งคืนพิกัด x ของการกดหน้าจอครั้งสุดท้าย

  • y_position – ส่งคืนพิกัด y ของการกดหน้าจอครั้งสุดท้าย

ฟังก์ชันเรียกกลับ – เรียกใช้ฟังก์ชันเมื่อกดหรือปล่อยหน้าจอ

  • pressed – ลงทะเบียนฟังก์ชันที่จะเรียกเมื่อกดหน้าจอ

  • released – ลงทะเบียนฟังก์ชันที่จะเรียกเมื่อหน้าจอถูกปล่อย

พิมพ์เคอร์เซอร์#

print#

print prints text, numbers, or variable values on the controller screen at the current cursor position and font.

Usage:
controller.screen.print(text)

พารามิเตอร์

คำอธิบาย

text

ข้อความ ตัวเลข หรือค่าตัวแปรที่จะแสดงบนหน้าจอ

sep

ตัวเลือกเสริม ตัวคั่นระหว่างข้อความที่พิมพ์ โดยค่าเริ่มต้น sep = ’ ‘

end

ตัวเลือกเสริม สตริงที่จะต่อท้ายข้อความที่พิมพ์ครั้งสุดท้าย โดยค่าเริ่มต้น end = ‘\n’

precision

ตัวเลือกเสริม จำนวนทศนิยมที่ตัวเลขทศนิยมจะแสดงเป็นจำนวนเต็ม โดยค่าเริ่มต้นคือ precision = 5

# Display a message at the starting cursor position.
controller.screen.print("Time to fly!")

ภาพหน้าจอควบคุมโดรน VEX AIR พร้อมข้อความสีขาวที่มุมบนซ้ายที่เขียนว่า ถึงเวลาบินแล้ว!

# Display the first 2 decimals of pi
controller.screen.print(3.1415, precision = 2)

ภาพหน้าจอเดียวกันกับภาพก่อนหน้า โดยมีข้อความ 3.14 อยู่ที่มุมบนซ้าย

set_cursor#

set_cursor ย้ายเคอร์เซอร์ไปยังแถวและคอลัมน์ที่ระบุบนหน้าจอควบคุม การเรียก print ครั้งถัดไปจะเริ่มพิมพ์ที่ตำแหน่งนั้น ระยะห่างระหว่างแถวและคอลัมน์จะคำนึงถึงแบบอักษรที่เลือก ด้วยแบบอักษร monospaced medium เริ่มต้น หน้าจอสามารถแสดงได้สูงสุด 18 แถวและ 53 คอลัมน์อย่างชัดเจน ข้อความที่วางเกินช่วงนี้อาจถูกตัดออกหรืออ่านยากขึ้น

Usage:
controller.screen.set_cursor(row, col)

พารามิเตอร์

คำอธิบาย

row

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

column

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

# Display text starting at Row 7 Column 25.
controller.screen.set_cursor(row=7, col=25)
controller.screen.print("Row 7, Column 25")

ภาพหน้าจอของโปรแกรมควบคุมโดรน VEX AIR พร้อมข้อความสีขาวใกล้กึ่งกลางที่ระบุว่า แถวที่ 7 คอลัมน์ที่ 25 ในตำแหน่งหน้าจอนั้น

next_row#

คำสั่ง next_row จะย้ายเคอร์เซอร์ไปยังคอลัมน์ที่ 1 ในแถวถัดไปบนหน้าจอควบคุม

Usage:
controller.screen.next_row()

พารามิเตอร์

คำอธิบาย

เมธอดนี้ไม่มีพารามิเตอร์

# Display two lines of text.
controller.screen.print("Line 1")
controller.screen.next_row()
controller.screen.print("Line 2")

ภาพหน้าจอของโปรแกรมควบคุมโดรน VEX AIR โดยมีข้อความสีขาวอยู่ที่มุมบนซ้าย เขียนว่า บรรทัดที่ 1 บนบรรทัดบนสุด และบรรทัดที่ 2 อยู่ด้านล่าง

clear_row#

clear_row ล้างข้อความหนึ่งแถวบนหน้าจอควบคุม

Usage:
controller.screen.clear_row(row, color)

พารามิเตอร์

คำอธิบาย

row

ตัวเลือกเสริม: แถวที่จะล้างข้อมูล ค่าเริ่มต้นคือแถวที่เคอร์เซอร์อยู่ปัจจุบัน

color

Optional. The color to apply to the cleared row. If a color is not specified, the set_fill_color is used. Options include:

  • BLACK
  • BLUE
  • CYAN
  • GREEN
  • ORANGE
  • PURPLE
  • RED
  • TRANSPARENT
  • WHITE
  • YELLOW
You can also specify a custom color.

# Clear only the second row of text
controller.screen.print("This text stays")
controller.screen.next_row()
controller.screen.print("This text disappears")
wait(3, SECONDS)
controller.screen.clear_row(2)

# Turn the 5th row green.
controller.screen.clear_row(5, GREEN)

get_row#

get_row ส่งคืนแถวปัจจุบันที่จะพิมพ์ข้อความ โดยแสดงเป็นจำนวนเต็ม

Usage:
controller.screen.get_row()

พารามิเตอร์

คำอธิบาย

เมธอดนี้ไม่มีพารามิเตอร์

# Display the cursor's current row.
controller.screen.set_cursor(row=7, col=25)
controller.screen.print(controller.screen.get_row())

ภาพหน้าจอของโปรแกรมควบคุมโดรน VEX AIR โดยมีข้อความสีขาวอยู่ใกล้ตรงกลางที่อ่านว่า 7 อยู่ที่แถวที่ 7 คอลัมน์ที่ 25

get_column#

get_column ส่งคืนคอลัมน์ปัจจุบันที่จะพิมพ์ข้อความ โดยแสดงเป็นจำนวนเต็ม

Usage:
controller.screen.get_column()

พารามิเตอร์

คำอธิบาย

เมธอดนี้ไม่มีพารามิเตอร์

# Display the cursor's current column.
controller.screen.set_cursor(row=7, col=25)
controller.screen.print(controller.screen.get_column())

ภาพหน้าจอของโปรแกรมควบคุมโดรน VEX AIR โดยมีข้อความสีขาวอยู่ใกล้ตรงกลางที่อ่านว่า 25 อยู่ที่แถวที่ 7 คอลัมน์ที่ 25

XY Print#

set_origin#

set_origin กำหนดจุดกำเนิด (0, 0) ที่ใช้สำหรับการวาดและการพิมพ์แบบอิงพิกัดบนหน้าจอควบคุม โดยค่าเริ่มต้น จุดกำเนิดจะอยู่ที่มุมบนซ้ายของหน้าจอ วิธีนี้สามารถรีเซ็ตจุดกำเนิดไปยังตำแหน่งพิกัด (x, y) อื่นบนหน้าจอได้

Usage:
controller.screen.set_origin(x, y)

พารามิเตอร์

คำอธิบาย

x

พิกัด x ใหม่ที่จะกำหนดให้เป็นจุดกำเนิด ต้องเป็นจำนวนเต็มตั้งแต่ 0 ถึง 640

y

พิกัด y ใหม่ที่จะกำหนดให้เป็นจุดกำเนิด จะต้องเป็นจำนวนเต็มตั้งแต่ 0 ถึง 480

# Set the origin to the center of the screen.
controller.screen.set_origin(x=320, y=240)

# Draw a rectangle at the new origin.
controller.screen.draw_rectangle(x=0, y=0, width=80, height=40)

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

ตัวกลายพันธุ์#

clear_screen#

clear_screen จะล้างภาพวาด ข้อความ และรูปภาพทั้งหมดออกจากหน้าจอควบคุม

Usage:
controller.screen.clear_screen(row, col, color)

พารามิเตอร์

คำอธิบาย

row

ตัวเลือกเสริม: แถวที่จะย้ายเคอร์เซอร์ไปหลังจากล้างหน้าจอ ค่าเริ่มต้นคือ 1

col

ตัวเลือกเสริม: คอลัมน์ที่จะย้ายเคอร์เซอร์ไปหลังจากล้างหน้าจอ ค่าเริ่มต้นคือ 1

color

Optional. Sets the screen color. If row and col are included, use color as the third argument. Options include:

  • BLACK
  • BLUE
  • CYAN
  • GREEN
  • ORANGE
  • PURPLE
  • RED
  • TRANSPARENT
  • WHITE
  • YELLOW
You can also specify a custom color.

# Draw a circle, and clear it after 2 seconds.
controller.screen.draw_circle(x=320, y=240, radius=80)
wait(2, SECONDS)
controller.screen.clear_screen()

# Print two messages in the same spot
controller.screen.print("Hello!")
wait(3,SECONDS)
controller.screen.clear_screen(row=1, col=1)
controller.screen.print("Goodbye!")

# Set the background color of the screen to red.
controller.screen.clear_screen(color=RED)

wait_for_render#

wait_for_render จะเปลี่ยนการวาดภาพบนหน้าจอเป็นการแสดงผลภายหลัง เมื่อเมธอดนี้ทำงาน คำสั่งหน้าจอถัดไปจะไม่ปรากฏบนหน้าจอควบคุมจนกว่าเมธอด wait_for_render ถัดไปจะทำงาน

หมายเหตุ: ใช้คำสั่งนี้ก่อนวาดกลุ่มข้อความ รูปร่าง หรือรูปภาพ จากนั้นใช้คำสั่งนี้อีกครั้งเพื่อแสดงผลการอัปเดตทั้งหมดในครั้งเดียว

Usage:
controller.screen.wait_for_render()

พารามิเตอร์

คำอธิบาย

เมธอดนี้ไม่มีพารามิเตอร์

# Display text and images when button 7 is pressed.
controller.screen.wait_for_render()
controller.screen.print("Screen rendered!")
controller.screen.draw_circle(x=320, y=240, radius=80)
while not controller.button7.pressing():
    wait(5, MSEC)
controller.screen.wait_for_render()

ภาพหน้าจอของโปรแกรมควบคุมโดรน VEX AIR พร้อมข้อความสีขาวที่เขียนว่า "Screen rendered!" อยู่ที่มุมบนซ้าย และวงกลมสีขาวที่วาดอยู่ตรงกลางหน้าจอ

set_font#

set_font กำหนดแบบอักษรที่ใช้สำหรับแสดงข้อความบนหน้าจอควบคุม แบบอักษรนี้จะใช้กับข้อความทั้งหมดที่พิมพ์หลังจากเมธอดนี้ทำงาน แบบอักษรเริ่มต้นเมื่อเริ่มโปรเจกต์คือ MONO20

Usage:
controller.screen.set_font(fontname)

พารามิเตอร์

คำอธิบาย

fontname

Sets the font to one of the following:

  • MONO12
  • MONO15
  • MONO20
  • MONO24
  • MONO30
  • MONO36
  • MONO40
  • MONO60
  • PROP20
  • PROP24
  • PROP30
  • PROP36
  • PROP40
  • PROP60

ภาพหน้าจอควบคุมโดรน VEX AIR ที่มีตัวอักษรและตัวเลขสีขาวพิมพ์อยู่มุมบนซ้ายด้วยฟอนต์ Mono 12 ตัวอักษร AZ อยู่ในบรรทัดเดียวและกินพื้นที่ประมาณหนึ่งในสามของความกว้างของหน้าจอ มุมล่างซ้ายมีข้อความว่า 91 ตัวอักษรแนวนอนและ 30 แถว
MONO12

ภาพเดียวกันกับภาพก่อนหน้า แต่ใช้ฟอนต์ Mono 15 ตัวอักษร AZ อยู่ในบรรทัดเดียว และกินพื้นที่เกือบครึ่งความกว้างของหน้าจอ ในมุมล่างซ้าย มีตัวอักษร 71 ตัวเรียงตามแนวนอนและ 23 แถว
MONO15

ภาพเดียวกันกับภาพก่อนหน้า แต่ใช้ฟอนต์ Mono 20 ตัวอักษร AZ อยู่ในบรรทัดเดียว และกินพื้นที่ครึ่งหนึ่งของความกว้างหน้าจอ ที่มุมล่างซ้าย อ่านได้ 53 ตัวอักษรในแนวนอน และ 18 แถว
MONO20

ภาพเดียวกันกับภาพก่อนหน้า แต่ใช้ฟอนต์ Mono 24 ตัวอักษร AZ อยู่ในบรรทัดเดียว และกินพื้นที่มากกว่าครึ่งความกว้างของหน้าจอเล็กน้อย ที่มุมล่างซ้าย มีตัวอักษร 45 ตัวเรียงกันในแนวนอนและ 15 แถว
MONO24

ภาพเดียวกันกับภาพก่อนหน้า แต่ใช้ฟอนต์ Mono 30 ตัวอักษร AZ อยู่ในบรรทัดเดียว และกินพื้นที่ประมาณสามในสี่ของความกว้างหน้าจอ ในมุมล่างซ้าย มีตัวอักษร 35 ตัวเรียงกันในแนวนอนและ 12 แถว
MONO30

ภาพเดียวกันกับภาพก่อนหน้า แต่ใช้ฟอนต์ Mono 36 ตัวอักษร AZ อยู่ในบรรทัดเดียว เกือบเต็มความกว้างของหน้าจอ ในมุมล่างซ้าย อ่านได้ 29 ตัวอักษรในแนวนอนและ 10 แถว
MONO36

ภาพเดียวกันกับภาพก่อนหน้า แต่ใช้ฟอนต์ Mono 40 ตัวอักษร AZ อยู่ในบรรทัดเดียว ครอบคลุมความกว้างของหน้าจอ ที่มุมล่างซ้าย อ่านได้ 26 ตัวอักษรในแนวนอนและ 9 แถว
MONO40

ภาพเดียวกันกับภาพก่อนหน้า แต่ใช้ฟอนต์ Mono 60 ตัวอักษร AQ อยู่ในบรรทัดเดียว ครอบคลุมความกว้างของหน้าจอ ที่มุมล่างซ้าย อ่านได้ 17 ตัวอักษรในแนวนอนและ 6 แถว
MONO60

ภาพเดียวกันกับภาพก่อนหน้า แต่ใช้ฟอนต์ Prop 20 ตัวอักษร AZ อยู่ในบรรทัดเดียว และกินพื้นที่มากกว่าครึ่งความกว้างของหน้าจอเล็กน้อย ที่มุมล่างซ้าย มีข้อความ 49 ตัวอักษรในแนวนอนและ 18 แถว
PROP20

ภาพเดียวกันกับภาพก่อนหน้า แต่ใช้ฟอนต์ Prop 24 ตัวอักษร AZ อยู่ในบรรทัดเดียว และกินพื้นที่ประมาณสองในสามของความกว้างหน้าจอ ในมุมล่างซ้าย มีตัวอักษร 42 ตัวเรียงกันในแนวนอนและ 15 แถว
PROP24

ภาพเดียวกันกับภาพก่อนหน้า แต่ใช้ฟอนต์ Prop 30 ตัวอักษร AZ อยู่ในบรรทัดเดียว และกินพื้นที่สามในสี่ของความกว้างหน้าจอ ในมุมล่างซ้าย มีตัวอักษร 33 ตัวเรียงตามแนวนอนและ 12 แถว
PROP30

ภาพเดียวกันกับภาพก่อนหน้า แต่ใช้ฟอนต์ Prop 36 ตัวอักษร AZ อยู่ในบรรทัดเดียว เกือบเต็มความกว้างของหน้าจอ ในมุมล่างซ้าย มีตัวอักษร 27 ตัวเรียงกัน 10 แถว
PROP36

ภาพเดียวกันกับภาพก่อนหน้า แต่ใช้ฟอนต์ Prop 40 ตัวอักษร AY อยู่ในบรรทัดเดียว ครอบคลุมความกว้างของหน้าจอ ที่มุมล่างซ้าย มีตัวอักษร 24 ตัว เรียงกัน 9 แถว
PROP40

ภาพเดียวกันกับภาพก่อนหน้า แต่ใช้ฟอนต์ Prop 60 ตัวอักษร AQ อยู่ในบรรทัดเดียว ครอบคลุมความกว้างของหน้าจอ ที่มุมล่างซ้าย อ่านได้ 17 ตัวอักษรในแนวนอนและ 6 แถว
PROP60

# Display text using a larger font.
controller.screen.set_font(MONO40)
controller.screen.print("VEX")

ภาพเดียวกันกับภาพก่อนหน้า แต่ตอนนี้มีคำว่า VEX พิมพ์ด้วยฟอนต์ Mono 40 อยู่ที่มุมบนซ้าย

set_pen_width#

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

Usage:
controller.screen.set_pen_width(width)

พารามิเตอร์

คำอธิบาย

width

ความกว้างของปากกา ระบุเป็นจำนวนเต็มในหน่วยพิกเซล

# Draw a rectangle with a pen width of 10.
controller.screen.set_pen_width(10)
controller.screen.draw_rectangle(x=200, y=200, width=200, height=80)

ภาพหน้าจอของตัวควบคุมโดรน VEX AIR ที่มีสี่เหลี่ยมสีขาวขอบหนาพิมพ์อยู่ตรงกลาง

set_pen_color#

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

Usage:
controller.screen.set_pen_color(color)

พารามิเตอร์

คำอธิบาย

color

ตัวเลือกเสริม ตั้งค่าสีปากกาและสีตัวอักษร ตัวเลือกได้แก่:

  • BLACK
  • BLUE
  • CYAN
  • GREEN
  • ORANGE
  • PURPLE
  • RED
  • TRANSPARENT
  • WHITE
  • YELLOW
คุณยังสามารถระบุ สีที่กำหนดเอง ได้อีกด้วย

# Draw a rectangle with an orange outline.
controller.screen.set_pen_color(ORANGE)
controller.screen.draw_rectangle(x=200, y=150, width=240, height=150)
controller.screen.set_pen_color(WHITE)
controller.screen.print_at("VEXcode AIR", x=250, y=220)

ภาพหน้าจอของตัวควบคุมโดรน VEX AIR ที่มีสี่เหลี่ยมผืนบางสีส้มพร้อมคำว่า VEXcode AIR พิมพ์เป็นสีขาวอยู่ตรงกลาง

set_text_fill_color#

set_text_fill_color กำหนดสีพื้นหลังให้กับข้อความที่พิมพ์ โดยสีพื้นหลังเริ่มต้นจะเป็นสีโปร่งใส

Usage:
controller.screen.set_text_fill_color(color)

พารามิเตอร์

คำอธิบาย

color

ตัวเลือกเสริม กำหนดสีเติมข้อความ ตัวเลือกได้แก่:

  • BLACK
  • BLUE
  • CYAN
  • GREEN
  • ORANGE
  • PURPLE
  • RED
  • TRANSPARENT
  • WHITE
  • YELLOW
คุณยังสามารถระบุ สีที่กำหนดเอง ได้อีกด้วย

# Display two colors behind text
controller.screen.set_text_fill_color(RED)
controller.screen.print("Red")
controller.screen.next_row()
controller.screen.set_text_fill_color(BLUE)
controller.screen.print("Blue")

ภาพหน้าจอของตัวควบคุมโดรน VEX AIR แสดงข้อความสองบรรทัดที่มุมบนซ้าย บรรทัดแรกเขียนว่า "สีแดง" ด้วยตัวอักษรสีขาวและมีไฮไลต์สีแดง บรรทัดที่สองอยู่ด้านล่างเขียนว่า "สีน้ำเงิน" ด้วยตัวอักษรสีขาวและมีไฮไลต์สีน้ำเงิน

set_fill_color#

set_fill_color กำหนดสีเติมที่ใช้เมื่อวาดรูปทรง สีเติมเริ่มต้นคือสีดำ

Usage:
controller.screen.set_fill_color(color)

พารามิเตอร์

คำอธิบาย

color

ตัวเลือกเสริม กำหนดสีเติม ตัวเลือกได้แก่:

  • BLACK
  • BLUE
  • CYAN
  • GREEN
  • ORANGE
  • PURPLE
  • RED
  • TRANSPARENT
  • WHITE
  • YELLOW
คุณยังสามารถระบุ สีที่กำหนดเอง ได้อีกด้วย

# Draw an orange-filled rectangle with text on top
controller.screen.set_fill_color(ORANGE)
controller.screen.draw_rectangle(x=200, y=150, width=250, height=150)
controller.screen.print_at("VEXcode AIR", x=250, y=220)

ภาพหน้าจอของตัวควบคุมโดรน VEX AIR ที่มีสี่เหลี่ยมสีส้มทึบขอบสีขาวบางๆ และมีข้อความสีขาวว่า VEXcode AIR พิมพ์อยู่ตรงกลาง

วาด#

draw_pixel#

draw_pixel draws one pixel at the selected x and y coordinate using the current pen color.

Usage:
controller.screen.draw_pixel(x, y)

พารามิเตอร์

คำอธิบาย

x

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

y

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

# Draw five pixels in a diagonal.
controller.screen.draw_pixel(x=360, y=200)
controller.screen.draw_pixel(x=340, y=220)
controller.screen.draw_pixel(x=320, y=240)
controller.screen.draw_pixel(x=300, y=260)
controller.screen.draw_pixel(x=280, y=280)

ภาพหน้าจอของตัวควบคุมโดรน VEX AIR ที่มีพิกเซล 5 พิกเซลเรียงกันเป็นเส้นทแยงมุมตรงกลางหน้าจอ

draw_line#

draw_line วาดเส้นจากพิกัดหน้าจอแรก (x1, y1) ไปยังพิกัดหน้าจอที่สอง (x2, y2) โดยใช้ ความกว้างของปากกา และ สีของปากกา ปัจจุบัน

พิกัด x และ y ใช้จุดกำเนิดเริ่มต้นที่ (0, 0) เว้นแต่จะมีการตั้งค่าจุดกำเนิดอื่นโดยใช้ set_origin

Usage:
controller.screen.draw_line(x1, y1, x2, y2)

พารามิเตอร์

คำอธิบาย

x1

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

y1

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

x2

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

y2

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

# Make an X across the screen.
controller.screen.draw_line(x1=0, y1=0, x2=640, y2=480)
controller.screen.set_pen_color(CYAN)
controller.screen.draw_line(x1=0, y1=480, x2=640, y2=0)

ภาพหน้าจอของตัวควบคุมโดรน VEX AIR ที่มีเส้นสีขาวลากจากมุมบนซ้ายไปยังมุมล่างขวา และเส้นสีฟ้าอมเขียวลากจากมุมล่างซ้ายไปยังมุมบนขวา ตัดกันตรงกลาง

draw_rectangle#

draw_rectangle วาดสี่เหลี่ยมโดยใช้ ความกว้างของปากกา, สีของปากกา และ สีเติม ปัจจุบัน เว้นแต่จะใช้พารามิเตอร์ color ที่เป็นตัวเลือก

พิกัด x และ y ใช้จุดกำเนิดเริ่มต้นที่ (0, 0) เว้นแต่จะมีการตั้งค่าจุดกำเนิดอื่นโดยใช้ set_origin

Usage:
controller.screen.draw_rectangle(x, y, width, height, color)

พารามิเตอร์

คำอธิบาย

x

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

y

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

width

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

height

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

color

ตัวเลือกเสริม กำหนดสีเติมของสี่เหลี่ยม ตัวเลือกได้แก่:

  • BLACK
  • BLUE
  • CYAN
  • GREEN
  • ORANGE
  • PURPLE
  • RED
  • TRANSPARENT
  • WHITE
  • YELLOW
คุณยังสามารถระบุ สีที่กำหนดเอง ได้อีกด้วย

# Draw two rectangles on the screen.
controller.screen.draw_rectangle(x=0, y=0, width=620, height=460)
controller.screen.draw_rectangle(x=200, y=180, width=200, height=100, color=GREEN)

ภาพหน้าจอของตัวควบคุมโดรน VEX AIR ที่มีสี่เหลี่ยมสีเขียวทึบมีขอบสีขาวบางๆ พิมพ์อยู่ตรงกลาง และมีสี่เหลี่ยมสีขาวบางๆ พิมพ์อยู่รอบขอบด้านนอกของหน้าจอ

draw_circle#

draw_circle วาดวงกลมโดยใช้ ความกว้างของปากกา, สีของปากกา และ สีเติม ปัจจุบัน เว้นแต่จะใช้พารามิเตอร์ color ที่เป็นตัวเลือก

พิกัด x และ y ใช้จุดกำเนิดเริ่มต้นที่ (0, 0) เว้นแต่จะมีการตั้งค่าจุดกำเนิดอื่นโดยใช้ set_origin

Usage:
controller.screen.draw_circle(x, y, radius, color)

พารามิเตอร์

คำอธิบาย

x

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

y

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

radius

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

color

ตัวเลือกเสริม กำหนดสีเติมของวงกลม ตัวเลือกได้แก่:

  • BLACK
  • BLUE
  • CYAN
  • GREEN
  • ORANGE
  • PURPLE
  • RED
  • TRANSPARENT
  • WHITE
  • YELLOW
คุณยังสามารถระบุ สีที่กำหนดเอง ได้อีกด้วย

# Draw one green circle on the screen.
controller.screen.set_fill_color(GREEN)
controller.screen.draw_circle(x=320, y=240, radius=200, color=GREEN)

ภาพหน้าจอของตัวควบคุมโดรน VEX AIR ที่มีวงกลมสีเขียวทึบขนาดใหญ่พร้อมเส้นขอบสีขาวบางๆ วาดอยู่ตรงกลางหน้าจอ

show_file#

show_file วาดภาพที่อัปโหลดเองลงบนหน้าจอควบคุมที่ตำแหน่ง x และ y โดยสามารถปรับขนาด หมุน และปรับความโปร่งใสได้ตามต้องการ

Usage:
controller.screen.show_file(file, x, y, scale_width, scale_height, rotation, use_alpha)

พารามิเตอร์

คำอธิบาย

file

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

x

ค่าชดเชยแนวนอนของภาพ ระบุเป็นจำนวนเต็มในหน่วยพิกเซล ค่าบวกจะเลื่อนไปทางขวา ค่าลบจะเลื่อนไปทางซ้าย

y

ค่าชดเชยแนวตั้งของภาพ ระบุเป็นจำนวนเต็มในหน่วยพิกเซล ค่าบวกจะเลื่อนลง ค่าลบจะเลื่อนขึ้น

scale_width

(ไม่บังคับ) ความกว้างของภาพที่จะปรับขนาด ระบุเป็นจำนวนเต็มในหน่วยพิกเซล

scale_height

(ไม่บังคับ) ความสูงของภาพที่จะปรับขนาด ระบุเป็นจำนวนเต็มในหน่วยพิกเซล

rotation

(ไม่บังคับ) จำนวนองศาที่จะหมุนภาพ ระบุเป็นจำนวนเต็มตั้งแต่ 0 ถึง 359

use_alpha

ตัวเลือกเสริม: จะใช้ช่องอัลฟาของภาพสำหรับความโปร่งใสหรือไม่ ตัวเลือกได้แก่: True หรือ False

# Display uploaded Image 1 in the top left corner.
controller.screen.show_file(IMAGE1, x=0, y=0)

# Display uploaded Image 1 scaled to the full screen.
controller.screen.show_file(IMAGE1, x=65, y=0, scale_width=640, scale_height=480)

# Display uploaded Image 1 with rotation of 180 degrees.
controller.screen.show_file(IMAGE1, x=-65, y=0, rotation=180)

# Upload an image with a transparent background.
# Display uploaded Image 1 with alpha channel enabled.
controller.screen.show_file(IMAGE1, x=0, y=0, use_alpha=True)

สัมผัส#

pressing#

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

  • True – หน้าจอกำลังถูกกด

  • False – ไม่ได้กดหน้าจอ

Usage:
controller.screen.pressing()

พารามิเตอร์

คำอธิบาย

เมธอดนี้ไม่มีพารามิเตอร์

# Play a sound when the screen is pressed.
while True:
    if controller.screen.pressing():
        controller.sound.play_note("C5", 500)
    wait(5, MSEC)

# Display different messages after the screen is pressed
while not controller.screen.pressing():
    wait(5, MSEC)
controller.screen.print("First message!")
controller.screen.next_row()
# Lift finger to press the screen again
while controller.screen.pressing():
    wait(5, MSEC)
while not controller.screen.pressing():
    wait(5, MSEC)
controller.screen.print("Second message!")
controller.screen.next_row()

x_position#

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

ตัวควบคุมโดรน VEX AIR พร้อมพื้นที่พิมพ์บนหน้าจอที่มีขนาดระบุไว้และล้อมกรอบด้วยกรอบสีแดง พิกัดเริ่มต้นที่ (0,0) ที่มุมบนซ้าย และวนตามเข็มนาฬิกาจาก (0, 640), (480, 640) และ (480,0) ไปยังมุมล่างซ้าย พิกัดกึ่งกลางของหน้าจอระบุไว้ที่ (240, 320)

Usage:
controller.screen.x_position()

พารามิเตอร์

คำอธิบาย

เมธอดนี้ไม่มีพารามิเตอร์

# Play a high or low note based on where screen is pressed.
while True:
    if controller.screen.pressing():
        if controller.screen.x_position() > 320:
            controller.sound.play_note("C6", 500)
        else:
            controller.sound.play_note("C4", 500)
    wait(5, MSEC)

y_position#

y_position ส่งคืนค่าพิกัด y ในหน่วยพิกเซล ณ ตำแหน่งที่กดหน้าจอครั้งล่าสุด โดยเป็นจำนวนเต็มตั้งแต่ 0 (บนสุด) ถึง 480 (ล่างสุด)

ตัวควบคุมโดรน VEX AIR พร้อมพื้นที่พิมพ์บนหน้าจอที่มีขนาดระบุไว้และล้อมกรอบด้วยกรอบสีแดง พิกัดเริ่มต้นที่ (0,0) ที่มุมบนซ้าย และวนตามเข็มนาฬิกาจาก (0, 640), (480, 640) และ (480,0) ไปยังมุมล่างซ้าย พิกัดกึ่งกลางของหน้าจอระบุไว้ที่ (240, 320)

Usage:
controller.screen.y_position()

# Play a high or low note based on where screen is pressed.
while True:
    if controller.screen.pressing():
        if controller.screen.y_position() > 240:
            controller.sound.play_note("C6", 500)
        else:
            controller.sound.play_note("C4", 500)
    wait(5, MSEC)

การเรียกกลับ#

pressed#

กด pressed จะลงทะเบียนฟังก์ชันที่จะถูกเรียกเมื่อกดหน้าจอควบคุม

Usage:
controller.screen.pressed(callback, arg)

พารามิเตอร์

คำอธิบาย

callback

A function that is previously defined to execute when the controller screen is pressed.

arg

ตัวเลือกเสริม ทูเปิล ที่มีอาร์กิวเมนต์ที่จะส่งไปยังฟังก์ชันเรียกกลับ ดู การใช้ฟังก์ชันที่มีพารามิเตอร์ สำหรับข้อมูลเพิ่มเติม

# Play a sound when the screen is pressed.
def play_sound():
    controller.sound.play_note("C5", 500)

controller.screen.pressed(play_sound)

released#

released ลงทะเบียนฟังก์ชันที่จะถูกเรียกเมื่อหน้าจอควบคุมถูกปล่อย

Usage:
controller.screen.released(callback, arg)

พารามิเตอร์

คำอธิบาย

callback

A function that is previously defined to execute when the controller screen is released.

arg

ตัวเลือกเสริม ทูเปิล ที่มีอาร์กิวเมนต์ที่จะส่งไปยังฟังก์ชันเรียกกลับ ดู การใช้ฟังก์ชันที่มีพารามิเตอร์ สำหรับข้อมูลเพิ่มเติม

# Play a sound when the screen is pressed.
def play_sound():
    controller.sound.play_note("C5", 500)

controller.screen.released(play_sound)