Màn hình#

Giới thiệu#

Các phương pháp điều khiển màn hình kiểm soát cách bộ não IQ (thế hệ thứ 2) hiển thị văn bản, số và đồ họa trên màn hình tích hợp của nó.

Đối với việc vẽ, độ phân giải của Brain là 160 x 108 pixel.

Trang này sử dụng brain làm ví dụ tên Brain. Hãy thay thế nó bằng tên do bạn cấu hình nếu cần.

Dưới đây là danh sách tất cả các phương pháp:

In bằng con trỏ — Đặt và in văn bản.

  • print — In văn bản, số hoặc giá trị biến tại vị trí con trỏ hiện tại.

  • set_cursor — Di chuyển con trỏ đến một hàng và cột cụ thể.

  • next_row — Di chuyển con trỏ đến cột 1 của hàng tiếp theo.

  • clear_row — Xóa một hàng văn bản.

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

  • print_at — In văn bản, số hoặc giá trị biến tại tọa độ x và y cụ thể.

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

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

Bộ điều chỉnh — Thay đổi cài đặt màn hình, màu sắc và hành vi vẽ.

  • clear_screen — Xóa tất cả hình vẽ và văn bản trên màn hình.

  • set_font — Đặt phông chữ cho văn bản in.

  • set_pen_width — Đặt độ dày của các đường vẽ và đường viền hình dạng.

  • set_pen_color — Đặt màu cho văn bản, pixel, đường kẻ và đường viền hình dạng.

  • set_fill_color — Đặt màu tô cho các hình vẽ và nền văn bản in.

  • set_origin — Đặt gốc tọa độ được sử dụng để in và vẽ dựa trên tọa độ.

Vẽ — Thêm hình ảnh vào màn hình.

  • draw_pixel — Vẽ một pixel tại tọa độ.

  • draw_line — Vẽ một đường thẳng giữa hai điểm.

  • draw_rectangle — Vẽ một hình chữ nhật.

  • draw_circle — Vẽ một hình tròn.

  • set_clip_region — Hạn chế vị trí hiển thị của hình vẽ và văn bản.

  • render — Cập nhật màn hình của Brain với văn bản và hình vẽ chỉ khi được gọi.

In bằng con trỏ#

print#

print in văn bản, số hoặc giá trị biến trên màn hình Brain tại vị trí con trỏ và phông chữ.

Usage:
brain.screen.print(text, precision, opaque)

Thông số

Sự miêu tả

text

Văn bản, số hoặc giá trị biến cần in trên màn hình.

precision

Tùy chọn. Số lượng chữ số thập phân hiển thị khi hiển thị số. Tham số này phải được viết dưới dạng đối số từ khóa, ví dụ:precision=3Mặc định là 2.

opaque

Optional. opaque=True — The background of the text will be filled with the current fill color or black by default. opaque=False (default) — The background of the text will match the screen’s background color.

# Display a message at the starting
# cursor position
brain.screen.print("Hello, Robot!")

Ảnh chụp màn hình của màn hình VEX IQ Brain hiển thị "Xin chào, Robot!" bằng chữ trắng ở dòng đầu tiên.

# Display a percentage with 4 decimal
# places and a blue background
brain.screen.set_fill_color(Color.BLUE)
brain.screen.print((42/100), precision = 4, opaque = True)

set_cursor#

set_cursor di chuyển con trỏ đến một hàng và cột cụ thể trên màn hình Brain. Lệnh print tiếp theo sẽ bắt đầu in tại vị trí đó. Số hàng và cột có thể chứa vừa vặn tùy thuộc vào phông chữ đã chọn.

Phông chữ đơn cách có các ký tự đều có cùng chiều rộng, giúp việc sắp xếp văn bản nhất quán. Ngược lại, phông chữ tỷ lệ có chiều rộng ký tự khác nhau, do đó một số chữ cái chiếm nhiều không gian hơn những chữ cái khác. Tuy nhiên, bất kể loại nào được sử dụng, set_cursor định vị con trỏ dựa trên kích thước hàng và cột, chứ không phải kiểu phông chữ. Kích thước phông chữ có thể được điều chỉnh bằng cách sử dụng set_font.

Usage:
brain.screen.set_cursor(row, column)

Thông số

Sự miêu tả

row

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

column

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

# Repeatedly print the Brain's timer at
# the top left of the screen
while True:
    brain.screen.print(brain.timer.time(SECONDS))
    brain.screen.next_row()
    wait(1, SECONDS)
    brain.screen.clear_screen()
    brain.screen.set_cursor(1, 1)

Ảnh chụp màn hình của màn hình IQ Brain hiển thị 23.19 bằng chữ trắng ở góc trên bên trái.

next_row#

next_row di chuyển con trỏ đến cột 1 trên hàng tiếp theo trên màn hình Brain.

Usage:
brain.screen.next_row()

Thông số

Sự miêu tả

Phương pháp này không có tham số.

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

Ảnh chụp màn hình của màn hình IQ Brain hiển thị Dòng 1 bằng chữ trắng ở góc trên bên trái và Dòng 2 ngay bên dưới.

clear_row#

clear_row xóa một hàng văn bản trên màn hình Brain.

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

Thông số

Sự miêu tả

hàng ngang

Tùy chọn. Hàng cần xóa. Mặc định là hàng hiện tại của con trỏ.

màu sắc

Optional. The color to apply to the cleared row. Options include:

  • Color.BLACK
  • Color.BLUE
  • Color.BLUE_GREEN
  • Color.BLUE_VIOLET
  • Color.GREEN
  • Color.ORANGE
  • Color.PURPLE
  • Color.RED
  • COLOR.RED_ORANGE
  • Color.RED_VIOLET
  • Color.VIOLET
  • Color.WHITE
  • Color.YELLOW
  • Color.YELLOW_GREEN
  • Color.YELLOW_ORANGE
You can also specify a custom color.

# Display text on two rows
brain.screen.print("This text stays")
brain.screen.next_row()
brain.screen.print("This disappears")

# Wait 3 seconds before clearing
# only the second row
wait(3, SECONDS)
brain.screen.clear_row()

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

row#

row trả về số hàng mà văn bản sẽ được in dưới dạng số nguyên.

Usage:
brain.screen.row()

Thông số

Sự miêu tả

Phương pháp này không có tham số.

# Set cursor to (3,2) and print 
# row number
brain.screen.set_cursor(3, 2)
brain.screen.print(brain.screen.row())

Ảnh chụp màn hình IQ Brain với số 3 màu trắng được in ở phía cực trái của màn hình, căn giữa theo chiều dọc, tại vị trí hàng 3 cột 2.

column#

column trả về số nguyên chỉ định cột sẽ in văn bản.

Usage:
brain.screen.column()

Thông số

Sự miêu tả

Phương pháp này không có tham số.

# Set cursor to (3,2) and print 
# column number
brain.screen.set_cursor(3, 2)
brain.screen.print(brain.screen.column())

Ảnh chụp màn hình IQ Brain với số 2 màu trắng được in ở phía cực trái của màn hình, căn giữa theo chiều dọc, tại vị trí hàng 3 cột 2.

get_string_width#

get_string_width trả về chiều rộng của một chuỗi tính bằng pixel dưới dạng số nguyên, như nó sẽ xuất hiện trên màn hình của Brain. Chiều rộng thay đổi tùy thuộc vào độ dài của chuỗi và phông chữ hiện tại.

Usage:
brain.screen.get_string_width(string)

Thông số

Sự miêu tả

string

Sợi dây dùng để đo.

get_string_height#

get_string_height trả về chiều cao của một chuỗi tính bằng pixel dưới dạng số nguyên, như nó sẽ xuất hiện trên màn hình Brain. Chiều cao thay đổi tùy thuộc vào độ dài của chuỗi và phông chữ hiện tại.

Usage:
brain.screen.get_string_height(string)

Thông số

Sự miêu tả

string

Sợi dây dùng để đo.

Biến đổi#

clear_screen#

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

Usage:
brain.screen.clear_screen(color)

Thông số

Sự miêu tả

color

Optional. Sets the screen color. Options include:

  • Color.BLACK
  • Color.BLUE
  • Color.BLUE_GREEN
  • Color.BLUE_VIOLET
  • Color.GREEN
  • Color.ORANGE
  • Color.PURPLE
  • Color.RED
  • COLOR.RED_ORANGE
  • Color.RED_VIOLET
  • Color.VIOLET
  • Color.WHITE
  • Color.YELLOW
  • Color.YELLOW_GREEN
  • Color.YELLOW_ORANGE
You can also specify a custom color.

# Draw a circle and clear it after 
# 2 seconds
brain.screen.draw_circle(80, 50, 20)
wait(2, SECONDS)
brain.screen.clear_screen()

# Turn the screen red
brain.screen.clear_screen(Color.RED)

Ảnh chụp màn hình IQ Brain với toàn bộ khu vực in được tô màu đỏ tươi.

set_font#

set_font đặt phông chữ được sử dụng để hiển thị văn bản trên màn hình Brain. Phông chữ này sẽ được áp dụng cho tất cả văn bản được in bằng print hoặc print_at. Phông chữ mặc định khi bắt đầu một dự án là MONO20.

Usage:
brain.screen.set_font(fontname)

Tham số

Sự miêu tả

fontname

Sets the font to one of the following:

  • MONO12
  • MONO15
  • MONO20
  • MONO30
  • MONO40
  • MONO60
  • PROP20
  • PROP30
  • PROP40
  • PROP60
These options are shown below.

Ảnh chụp màn hình VEX IQ Brain với một loạt các số và chữ cái bằng phông chữ Mono 12. Các chữ cái AZ nằm trên một dòng, trải rộng hết chiều rộng màn hình. Góc dưới bên trái cho biết có 26 ký tự theo chiều ngang và 9 hàng.
MONO12

Ảnh chụp màn hình giống như ảnh trước, giờ với phông chữ Mono 15. Các chữ cái AT nằm trên một dòng, trải rộng hết chiều rộng màn hình. Góc dưới bên trái cho biết có 20 ký tự theo chiều ngang và 7 hàng.
MONO15

Ảnh chụp màn hình giống như ảnh trước, giờ với phông chữ Mono 20. Các chữ cái AP nằm trên một dòng, trải rộng hết chiều rộng màn hình. Góc dưới bên trái cho biết có 16 ký tự theo chiều ngang và 5 hàng.
MONO20

Ảnh chụp màn hình giống như ảnh trước, giờ với phông chữ Mono 30. Các số từ 1 đến 9 và thêm một số 0 nằm trên một dòng, trải rộng hết chiều rộng màn hình. Góc dưới bên trái cho biết có 3 hàng.
MONO30

Ảnh chụp màn hình giống như ảnh trước, giờ với phông chữ Mono 40. Các số từ 1 đến 8 nằm trên dòng thứ hai, trải rộng hết chiều rộng màn hình.
MONO40

Ảnh chụp màn hình giống như ảnh trước, giờ với phông chữ Mono 60. Màn hình hiển thị MN 60 với phông chữ lớn, chiếm gần hết nửa trên màn hình.
MONO60

Ảnh chụp màn hình giống như ảnh trước, giờ với phông chữ Prop 20. Các chữ cái AW nằm trên một dòng, trải rộng hết chiều rộng màn hình. Góc dưới bên trái cho biết có 26 ký tự theo chiều ngang và 5 hàng.
PROP20

Ảnh chụp màn hình giống như ảnh trước, giờ với phông chữ Prop 30. Các số từ 1-9 được lặp lại hai lần trên một dòng, trải rộng hết chiều rộng màn hình. Góc dưới bên trái cho biết có 18 ký tự theo chiều ngang và 3 hàng.
PROP30

Ảnh chụp màn hình giống như ảnh trước, giờ với phông chữ Prop 40. Màn hình hiển thị Prop 40 ở dòng trên cùng và cho biết 14 ký tự và 2 dòng ở dòng thứ hai.
PROP40

Ảnh chụp màn hình giống như ảnh trước, giờ với phông chữ Prop 60. Màn hình hiển thị PROP 60 bằng phông chữ lớn, chiếm gần hết nửa trên màn hình.
PROP60

# Display two different fonts on 
# two separate lines
brain.screen.set_font(FontType.MONO20)
brain.screen.print("Mono Medium")
brain.screen.next_row()
brain.screen.set_font(FontType.PROP20)
brain.screen.print("Prop Medium")

Ảnh chụp màn hình IQ Brain với văn bản màu trắng trên hai dòng ở góc trên bên trái. Dòng đầu tiên ghi là Mono Medium và dòng thứ hai ngay bên dưới ghi là Prop Medium với phông chữ nhỏ hơn.

set_pen_width#

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

Usage:
brain.screen.set_pen_width(width)

Tham số

Sự miêu tả

width

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

# Draw two circles with
# different pen widths
brain.screen.draw_circle(40, 70, 20)
brain.screen.set_pen_width(5)
brain.screen.draw_circle(100, 70, 20)

Ảnh chụp màn hình IQ Brain với hai vòng tròn màu trắng được in ở nửa dưới màn hình. Vòng tròn bên trái được vẽ với đường viền hẹp hơn vòng tròn bên phải.

set_pen_color#

set_pen_color thiết lập màu sắc cho văn bản, pixel, đường kẻ và đường viền hình dạng.

Usage:
brain.screen.set_pen_color(color)

Tham số

Sự miêu tả

color

Optional. The pen and font color to use. Options include:

  • Color.BLACK
  • Color.BLUE
  • Color.BLUE_GREEN
  • Color.BLUE_VIOLET
  • Color.GREEN
  • Color.ORANGE
  • Color.PURPLE
  • Color.RED
  • COLOR.RED_ORANGE
  • Color.RED_VIOLET
  • Color.VIOLET
  • Color.WHITE
  • Color.YELLOW
  • Color.YELLOW_GREEN
  • Color.YELLOW_ORANGE
You can also specify a custom color.

# Draw two rectangles with
# different colors
brain.screen.draw_rectangle(100, 50, 10, 20)
brain.screen.set_pen_color(Color.BLUE)
brain.screen.draw_rectangle(50, 50, 10, 20)

Ảnh chụp màn hình IQ Brain với hai hình chữ nhật nhỏ được vẽ ở nửa dưới màn hình. Hình chữ nhật bên trái màu xanh lam, và hình chữ nhật bên phải màu trắng.

set_fill_color#

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

Usage:
brain.screen.set_fill_color(color)

Tham số

Sự miêu tả

color

Optional. The fill color to use. Options include:

  • Color.BLACK
  • Color.BLUE
  • Color.BLUE_GREEN
  • Color.BLUE_VIOLET
  • Color.GREEN
  • Color.ORANGE
  • Color.PURPLE
  • Color.RED
  • COLOR.RED_ORANGE
  • Color.RED_VIOLET
  • Color.VIOLET
  • Color.WHITE
  • Color.YELLOW
  • Color.YELLOW_GREEN
  • Color.YELLOW_ORANGE
You can also specify a custom color.

# Draw a yellow circle
brain.screen.set_fill_color(Color.YELLOW)
brain.screen.draw_circle(50, 50, 20)

Ảnh chụp màn hình IQ Brain với một vòng tròn màu vàng sáng có viền trắng mỏng ở nửa bên trái màn hình.

set_origin#

set_origin thiết lập gốc tọa độ được sử dụng để vẽ và in dựa trên tọa độ trên màn hình Brain. Theo mặc định, gốc tọa độ là góc trên bên trái của màn hình.

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

Tham số

Sự miêu tả

x

Tọa độ x mới cần thiết lập làm gốc tọa độ được biểu diễn dưới dạng số nguyên từ 0 đến 159.

y

Tọa độ y mới cần thiết lập làm gốc tọa độ được biểu diễn dưới dạng số nguyên từ 0 đến 107.

# Draw a line with the origin set to (50, 50)
brain.screen.set_origin(50, 50)
brain.screen.draw_line(1, 1, 159, 107)

Ảnh chụp màn hình IQ Brain với một đường kẻ trắng bắt đầu hơi lệch về bên trái trung tâm và kéo dài theo đường chéo xuống bên phải về phía góc dưới bên phải của màn hình.

Vẽ tranh#

draw_pixel#

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

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

Tham số

Sự miêu tả

x

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

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.

# Draw one pixel at the center
# of the screen
brain.screen.draw_pixel(80, 50)

Ảnh chụp màn hình IQ Brain với một chấm trắng nhỏ ở giữa màn hình.

draw_line#

draw_line vẽ một đường thẳng từ tọa độ màn hình đầu tiên (x1, y1) đến tọa độ màn hình thứ hai (x2, y2) bằng cách sử dụng độ rộng bút và màu bút hiện tại.

Tọa độ x và y sử dụng gốc tọa độ mặc định là (0, 0) trừ khi một gốc tọa độ khác đã được thiết lập bằng cách sử dụng set_origin.

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

Tham số

Sự miêu tả

x1

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

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

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

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.

# Draw a line from the top left to
# bottom right of the screen
brain.screen.draw_line(0, 0, 159, 107)

Ảnh chụp màn hình IQ Brain với một đường chéo màu trắng được vẽ từ góc trên bên trái xuống góc dưới bên phải.

draw_rectangle#

draw_rectangle vẽ một hình chữ nhật với góc trên bên trái tại tọa độ (x, y) đã chọn và kích thước được xác định bởi chiều rộng và chiều cao đã cho, tất cả đều được đo bằng pixel. Đường viền của hình chữ nhật được vẽ bằng cách sử dụng chiều rộng bút và màu bút hiện tại. Phần bên trong được tô bằng màu tô hiện tại, trừ khi tham số color tùy chọn được sử dụng.

Tọa độ x và y sử dụng gốc tọa độ mặc định là (0,0) trừ khi một gốc tọa độ khác đã được thiết lập bằng cách sử dụng set_origin.

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

Tham số

Sự miêu tả

x

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

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

Chiều rộng của hình chữ nhật, tính bằng pixel.

height

Chiều cao của hình chữ nhật, tính bằng pixel.

color

Optional. The fill color of the rectangle. Options include:

  • Color.BLACK
  • Color.BLUE
  • Color.BLUE_GREEN
  • Color.BLUE_VIOLET
  • Color.GREEN
  • Color.ORANGE
  • Color.PURPLE
  • Color.RED
  • COLOR.RED_ORANGE
  • Color.RED_VIOLET
  • Color.VIOLET
  • Color.WHITE
  • Color.YELLOW
  • Color.YELLOW_GREEN
  • Color.YELLOW_ORANGE
You can also specify a custom color.

# Draw a red rectangle on the screen
brain.screen.draw_rectangle(25, 25, 100, 50, Color.RED)

Ảnh chụp màn hình của màn hình IQ Brain với một hình chữ nhật lớn màu đỏ có viền trắng mỏng được vẽ gần như ở giữa màn hình.

draw_circle#

draw_circle vẽ một hình tròn có tâm tại (x, y) đã chọn và kích thước được xác định bởi bán kính đã cho, tất cả được đo bằng pixel. Đường viền của hình tròn được vẽ bằng cách sử dụng độ rộng bút và màu bút hiện tại. Phần bên trong được tô bằng màu tô hiện tại, trừ khi tham số color tùy chọn được sử dụng.

Tọa độ x và y sử dụng gốc tọa độ mặc định là (0,0) trừ khi một gốc tọa độ khác đã được thiết lập bằng cách sử dụng set_origin.

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

Tham số

Sự miêu tả

x

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

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

Bán kính của hình tròn, tính bằng pixel.

color

Optional. The fill color of the circle. Options include:

  • Color.BLACK
  • Color.BLUE
  • Color.BLUE_GREEN
  • Color.BLUE_VIOLET
  • Color.GREEN
  • Color.ORANGE
  • Color.PURPLE
  • Color.RED
  • COLOR.RED_ORANGE
  • Color.RED_VIOLET
  • Color.VIOLET
  • Color.WHITE
  • Color.YELLOW
  • Color.YELLOW_GREEN
  • Color.YELLOW_ORANGE
You can also specify a custom color.

# Draw a green circle on the screen
brain.screen.draw_circle(80, 50, 20, Color.GREEN)

Ảnh chụp màn hình IQ Brain với một vòng tròn màu xanh lá cây đặc có viền trắng mỏng ở giữa màn hình.

set_clip_region#

set_clip_region xác định một vùng hình chữ nhật trên màn hình, nơi tất cả cá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ị.

Usage:
brain.screen.set_clip_region(x, y, width, height)

Tham số

Sự miêu tả

x

Tọa độ x của góc trên bên trái của vùng cắt, được biểu thị dưới dạng số nguyên hoặc số thực từ 0 đến 159.

y

Tọa độ y của góc trên bên trái của vùng cắt, được biểu thị dưới dạng số nguyên hoặc số thực từ 0 đến 107.

width

Chiều rộng của vùng cắt tính bằng pixel.

height

Chiều cao của vùng cắt tính bằng pixel.

# Restrict text and drawings to a specific region
brain.screen.set_clip_region(0, 0, 120, 120)
brain.screen.draw_rectangle(60, 60, 100, 100, Color.RED)
brain.screen.print_at("Cut off!", x=60, y=60)

Ảnh chụp màn hình của màn hình IQ Brain với văn bản màu trắng gần giữa màn hình có nội dung "Cắt khỏi", với một hình vuông màu đỏ đặc ngay bên dưới, hiển thị những gì được in trong vùng cắt.

render#

Lệnh render cho phép bộ đệm kép cho màn hình của Brain. Sau khi được gọi, bất kỳ lệnh vẽ nào (như văn bản, hình dạng hoặc hình ảnh) sẽ không còn hiển thị ngay lập tức trong suốt phần còn lại của dự án. Thay vào đó, các cập nhật sẽ chỉ được hiển thị khi lệnh render được sử dụng lại. Điều này cho phép cập nhật màn hình mượt mà và được kiểm soát tốt hơn, nhưng có nghĩa là sẽ không có gì hiển thị cho đến khi lệnh render được sử dụng.

Usage:
brain.screen.render()

Thông số

Sự miêu tả

Phương pháp này không có tham số.

# Render text after moving
brain.screen.render()
brain.screen.print("Render later...")
drivetrain.drive_for(FORWARD, 100, MM)
drivetrain.turn_for(RIGHT, 90, DEGREES)
brain.screen.render()