화면#
소개#
화면 관련 메서드는 VEX AIM 코딩 로봇이 화면에 텍스트, 숫자 및 그래픽을 표시하는 방식과 화면 터치에 반응하는 방식을 제어합니다.
다음은 모든 방법 목록입니다.
터치 – 화면 터치를 감지하고 반응합니다.
pressing누르기 – 현재 화면이 눌러지고 있는지 여부를 반환합니다.x_position– 마지막 화면 누름의 x좌표를 반환합니다.y_position– 마지막 화면 누름의 y좌표를 반환합니다.
커서 인쇄 – 행/열 시스템을 사용하여 텍스트를 표시합니다.
print– 현재 커서 위치에 텍스트, 숫자 또는 변수 값을 출력합니다.set_cursor– 커서를 특정 행과 열로 이동합니다.next_row– 커서를 다음 행의 1열로 이동합니다.clear_row– 텍스트 행을 지웁니다.get_row– 현재 커서 행을 반환합니다.get_column– 현재 커서 열을 반환합니다.
XY 인쇄 – 화면의 특정 좌표에 텍스트를 표시합니다.
print_at– 특정 x 및 y 좌표에 텍스트, 숫자 또는 변수 값을 출력합니다.set_origin– 좌표 기반 인쇄 및 그리기에 사용되는 원점을 설정합니다.
뮤테이터 - 화면을 지우거나 시각 설정을 업데이트합니다.
clear_screen– 화면의 모든 그림과 텍스트를 지웁니다.set_font– 인쇄된 텍스트에 대한 글꼴을 설정합니다.set_pen_width– 그려진 선과 도형 윤곽선의 두께를 설정합니다.set_pen_color– 텍스트, 픽셀, 선 및 도형 윤곽선의 색상을 설정합니다.set_fill_color– 그려진 도형과 인쇄된 텍스트 배경의 채우기 색상을 설정합니다.
그리기 - 화면에 그래픽과 이미지를 추가합니다.
draw_pixel– 특정 x 및 y 위치에 픽셀을 그립니다.draw_line– 두 점 사이에 선을 그립니다.draw_rectangle– 사각형을 그립니다.draw_circle– 원을 그립니다.show_file– 업로드된 이미지를 표시합니다.set_clip_region– 그림과 텍스트가 나타날 수 있는 위치를 제한합니다.
콜백 함수 – 화면을 누르거나 놓았을 때 실행되는 함수입니다.
만지다#
pressing#
pressing 반환되고, 로봇 화면이 현재 눌러지고 있는지 여부를 나타내는 부울 값이 반환됩니다.
True– 화면이 눌리고 있습니다.False– 화면이 눌리지 않았습니다.
Usage:
robot.screen.pressing()
매개변수 |
설명 |
|---|---|
이 메서드에는 매개변수가 없습니다. |
# Turn LEDs white only while the screen is pressed.
while True:
if robot.screen.pressing():
robot.led.on(ALL_LEDS, WHITE)
else:
robot.led.off(ALL_LEDS)
wait(50, MSEC)
# Display different messages after the screen is pressed
while not robot.screen.pressing():
wait(5, MSEC)
robot.screen.print("First message!")
robot.screen.next_row()
# Lift finger to press the screen again
while robot.screen.pressing():
wait(5, MSEC)
while not robot.screen.pressing():
wait(5, MSEC)
robot.screen.print("Second message!")
robot.screen.next_row()
x_position#
x_position 은 마지막으로 화면을 누른 위치의 x좌표를 0(왼쪽)부터 240(오른쪽)까지의 정수로 반환합니다.
Usage:robot.screen.x_position()
매개변수 |
설명 |
|---|---|
이 메서드에는 매개변수가 없습니다. |
# Display the x-coordinate of where
# the screen is pressed
while True:
if robot.screen.pressing():
robot.screen.clear_screen()
robot.screen.print(robot.screen.x_position())
wait (50, MSEC)
y_position#
y_position 은 마지막으로 화면을 누른 위치의 y 좌표를 0(상단)부터 240(하단)까지의 정수로 반환합니다.
Usage:robot.screen.y_position()
매개변수 |
설명 |
|---|---|
이 메서드에는 매개변수가 없습니다. |
# Display the y-coordinate of where
# the screen is pressed
while True:
if robot.screen.pressing():
robot.screen.clear_screen()
robot.screen.print(robot.screen.y_position())
wait (50, MSEC)
커서 인쇄#
print#
print 은 현재 커서 위치 및 글꼴에 있는 로봇 화면에 텍스트, 숫자 또는 변수 값을 출력합니다.
Usage:robot.screen.print(text)
매개변수 |
설명 |
|---|---|
|
화면에 표시할 텍스트, 숫자 또는 변수 값입니다. |
# Display a message at the starting cursor position
robot.screen.print("Hello, Robot!")

set_cursor#
set_cursor 로봇 화면의 특정 행과 열로 텍스트 커서를 이동합니다. 다음 print 호출은 해당 위치에서 인쇄를 시작합니다. 화면에 표시되는 행과 열의 수는 선택한 글꼴에 따라 다릅니다. 기본 고정폭 중간 글꼴을 사용하는 경우 화면에 최대 8행 13열까지 명확하게 표시할 수 있습니다. 이 범위를 벗어난 텍스트는 잘리거나 읽기 어려울 수 있습니다.
고정폭 글꼴은 문자의 너비가 모두 같으므로 텍스트 배치가 일관적입니다. 이와 대조적으로 비례 글꼴은 문자 너비가 다양하므로 일부 문자는 다른 문자보다 더 많은 공간을 차지합니다. 그러나 어떤 유형을 사용하든 set_cursor 글꼴 스타일이 아닌 행과 열 크기를 기준으로 커서를 배치합니다. 글꼴 크기는 set_font를 사용하여 조정할 수 있습니다.
Usage:robot.screen.set_cursor(row, column)
매개변수 |
설명 |
|---|---|
|
커서를 이동할 행입니다. |
|
커서를 이동할 열입니다. |
# Display text starting at Row 3 Column 2
robot.screen.set_cursor(3, 2)
robot.screen.print("Row 3, Column 2")

next_row#
next_row 로봇 화면의 다음 행의 1번째 열로 커서를 이동합니다.
Usage:robot.screen.next_row()
매개변수 |
설명 |
|---|---|
이 메서드에는 매개변수가 없습니다. |
# Display two lines of text
robot.screen.print("Line 1")
robot.screen.next_row()
robot.screen.print("Line 2")

clear_row#
clear_row 로봇 화면에서 텍스트 한 행을 지웁니다.
Usage:robot.screen.clear_row(row, color)
매개변수 |
설명 |
|---|---|
|
선택 사항입니다. 지울 행을 정수로 지정합니다. 기본값은 현재 커서 행입니다. |
|
선택 사항입니다. 지워진 행에 적용할 색상입니다. 옵션은 다음과 같습니다.
|
# Display text on two rows
robot.screen.print("This text stays")
robot.screen.next_row()
robot.screen.print("This text disappears")
# Wait 3 seconds before clearing only the second row
wait(3, SECONDS)
robot.screen.clear_row()
# Turn the 5th row green
robot.screen.clear_row(5, GREEN)

get_row#
get_row 텍스트가 출력될 현재 행을 정수로 반환합니다.
Usage:robot.screen.get_row()
매개변수 |
설명 |
|---|---|
이 메서드에는 매개변수가 없습니다. |
# Set cursor to (3,2) and print row number
robot.screen.set_cursor(3, 2)
robot.screen.print(robot.screen.get_row())

get_column#
get_column 텍스트가 출력될 현재 열을 정수로 반환합니다.
Usage:robot.screen.get_column()
매개변수 |
설명 |
|---|---|
이 메서드에는 매개변수가 없습니다. |
# Set cursor to (3,2) and print column number
robot.screen.set_cursor(3, 2)
robot.screen.print(robot.screen.get_column())

XY 프린트#
print_at#
print_at 은 현재 설정된 font 및 origin을 사용하여 로봇 화면의 특정 x 및 y 좌표(픽셀)에 텍스트, 숫자 또는 변수 값을 출력합니다. x 텍스트가 왼쪽에서 시작하는 거리를 설정하고, y 글자의 아래쪽 위치를 설정합니다. 이 메서드는 현재 커서 위치를 무시합니다.

참고: 빨간색 원은 AIM 로봇의 원형 화면에 표시될 좌표를 나타냅니다. 빨간색 원 바깥에 있는 좌표는 0~240 범위에 속하지만 화면에는 표시되지 않습니다.
Usage:
robot.screen.print_at(text, x, y)
매개변수 |
설명 |
|---|---|
|
화면에 출력할 텍스트, 숫자 또는 변수 값입니다. |
|
텍스트의 가로 위치를 0에서 240픽셀 사이의 정수로 지정합니다. 0은 왼쪽, 240은 오른쪽입니다. |
|
텍스트의 세로 위치를 0에서 240픽셀 사이의 정수로 지정합니다. 0은 맨 위, 240은 맨 아래를 나타냅니다. |
# Display a message in the middle of the screen
robot.screen.print_at("Hello, Robot!", x=40, y=120)

set_origin#
set_origin 로봇 화면에서 그리기 및 좌표 기반 인쇄에 사용되는 원점을 설정합니다. 기본적으로 원점은 화면의 왼쪽 상단 모서리입니다.
Usage:
robot.screen.set_origin(x, y)
매개변수 |
설명 |
|---|---|
|
원점으로 설정할 새로운 x 좌표는 0에서 240 사이의 정수로 주어집니다. |
|
원점으로 설정할 새로운 y 좌표는 0에서 240 사이의 정수로 주어집니다. |
# Set the origin to the center of the screen
robot.screen.set_origin(120, 120)
# Draw a rectangle at the new origin
robot.screen.draw_rectangle(0, 0, 80, 40)

돌연변이체#
clear_screen#
clear_screen 로봇 화면에서 모든 그림과 텍스트를 지웁니다. 기본적으로 커서 위치도 1행 1열로 재설정됩니다.
Usage:
robot.screen.clear_screen(color)
매개변수 |
설명 |
|---|---|
|
선택 사항입니다. 화면 색상을 설정합니다. 옵션은 다음과 같습니다.
|
# Draw a circle, and clear it after 2 seconds
robot.screen.draw_circle(120, 120, 60)
wait(2, SECONDS)
robot.screen.clear_screen()
# Set the background color of the screen to red
robot.screen.clear_screen(RED)

set_font#
set_font 로봇 화면에 텍스트를 표시하는 데 사용되는 글꼴을 설정합니다. 이 글꼴은 print 또는 print_at로 출력되는 모든 텍스트에 적용됩니다. 프로젝트 시작 시 기본 글꼴은 MONO24 입니다.
Usage:
robot.screen.set_font(fontname)
매개변수 |
설명 |
|---|---|
|
Sets the font to one of the following:
|
로봇 화면의 스크린샷으로, Mono 12 글꼴로 인쇄된 숫자와 문자의 일부를 보여줍니다. 알파벳은 한 줄에 걸쳐 있습니다. 아래쪽은 가로 26자, 세로 15줄입니다. |
|
|
|---|---|---|
|
|
|
이전 이미지와 동일하며, 숫자가 Mono 60 글꼴로 인쇄되어 있습니다. 1부터 6까지의 숫자는 한 줄에 걸쳐 있습니다. 아래쪽은 세 줄로 구성되어 있습니다. |
|
|
|
|
# Display text using a larger font
robot.screen.set_font(MONO40)
robot.screen.print("VEX")

set_pen_width#
set_pen_width 그려진 선과 도형 윤곽선의 두께를 설정합니다.
Usage:
robot.screen.set_pen_width(width)
매개변수 |
설명 |
|---|---|
|
펜 너비는 픽셀 단위로 0에서 32까지입니다. |
# Draw a rectangle with a pen width of 10
robot.screen.set_pen_width(10)
robot.screen.draw_rectangle(50, 50, 130, 60)

set_pen_color#
set_pen_color 텍스트, 픽셀, 선 및 도형 윤곽선의 색상을 설정합니다.
Usage:
robot.screen.set_pen_color(color)
매개변수 |
설명 |
|---|---|
|
선택 사항입니다. 사용할 펜과 글꼴 색상입니다. 옵션은 다음과 같습니다.
|
# Draw a rectangle with a red pen
robot.screen.set_pen_color(RED)
robot.screen.draw_rectangle(50, 50, 130, 60)

set_fill_color#
set_fill_color 도형을 그릴 때와 인쇄된 텍스트에 배경색을 사용할 때 사용되는 채우기 색상을 설정합니다.
Usage:robot.screen.set_fill_color(color)
매개변수 |
설명 |
|---|---|
|
선택 사항입니다. 사용할 채우기 색상입니다. 옵션은 다음과 같습니다.
|
# Draw two orange rectangles
robot.screen.set_fill_color(ORANGE)
robot.screen.draw_rectangle(50, 50, 100, 60)
robot.screen.draw_rectangle(50, 130, 100, 60)

# Display text with a purple background
robot.screen.set_fill_color(PURPLE)
robot.screen.print("Highlight")

그리다#
draw_pixel#
draw_pixel 현재 펜 색상을 사용하여 선택된 x 및 y 좌표에 픽셀 하나를 그립니다.
Usage:
robot.screen.draw_pixel(x, y)
매개변수 |
설명 |
|---|---|
|
픽셀이 그려질 x 좌표이며, 0에서 240 사이의 정수로 주어집니다. |
|
픽셀이 그려질 y 좌표이며, 0에서 240 사이의 정수로 주어집니다. |
# Draw a pixel at the center of the screen
robot.screen.draw_pixel(120, 120)
![]()
draw_line#
draw_line 은 현재 펜 너비 및 펜 색상을 사용하여 첫 번째 화면 좌표 (x1, y1) 에서 두 번째 화면 좌표 (x2, y2) 까지 선을 그립니다.
x 및 y 좌표는 set_origin를 사용하여 다른 원점을 설정하지 않는 한 기본 원점 (0, 0)을 사용합니다.
Usage:
robot.screen.draw_line(x1, y1, x2, y2)
매개변수 |
설명 |
|---|---|
|
선의 시작 x좌표는 0에서 240 사이의 정수로 주어집니다. |
|
선분의 시작 y좌표는 0에서 240 사이의 정수로 주어집니다. |
|
선분의 끝점의 x좌표는 0에서 240 사이의 정수로 주어집니다. |
|
선분의 끝 y좌표는 0에서 240 사이의 정수로 주어집니다. |
# Draw a line from the top left to bottom right of the screen
robot.screen.draw_line(0, 0, 240, 240)

draw_rectangle#
draw_rectangle 선택된 (x, y) 좌표에 왼쪽 상단 모서리가 있고 주어진 너비와 높이로 결정되는 크기의 직사각형을 그립니다. 모든 치수는 픽셀 단위로 측정됩니다. 직사각형의 윤곽선은 현재 펜 너비와 펜 색상을 사용하여 그려집니다. 내부는 선택적 color 매개변수가 사용되지 않는 한 현재 채우기 색상으로 채워집니다.
x 및 y 좌표는 set_origin를 사용하여 다른 원점을 설정하지 않는 한 기본 원점 (0, 0)을 사용합니다.
Usage:robot.screen.draw_rectangle(x, y, width, height, color)
매개변수 |
설명 |
|---|---|
|
직사각형의 왼쪽 위 모서리의 x좌표를 0부터 240까지의 정수로 나타냅니다. |
|
직사각형의 왼쪽 위 모서리의 y좌표는 0에서 240 사이의 정수로 주어집니다. |
|
직사각형의 너비는 0에서 240 사이의 정수로 주어집니다. |
|
직사각형의 높이는 0에서 240 사이의 정수로 주어집니다. |
|
선택 사항입니다. 사각형의 채우기 색상입니다. 옵션은 다음과 같습니다.
|
# Draw a red rectangle on the screen
robot.screen.draw_rectangle(50, 50, 130, 60, RED)

draw_circle#
draw_circle 은 선택된 (x, y) 좌표를 중심으로 하고 주어진 반지름으로 결정되는 크기의 원을 그립니다. 모든 값은 픽셀 단위로 측정됩니다. 원의 윤곽선은 현재 펜 너비와 펜 색상을 사용하여 그려집니다. 내부는 현재 채우기 색상으로 채워집니다. 단, 선택적 color 매개변수가 사용되는 경우는 예외입니다.
x 및 y 좌표는 set_origin를 사용하여 다른 원점을 설정하지 않는 한 기본 원점 (0, 0)을 사용합니다.
Usage:robot.screen.draw_circle(x, y, radius, color)
매개변수 |
설명 |
|---|---|
|
원의 중심의 x좌표는 0부터 240까지의 정수로 주어집니다. |
|
원의 중심의 y좌표는 0부터 240까지의 정수로 주어집니다. |
|
원의 반지름은 0에서 240픽셀 사이의 정수로 주어집니다. |
|
선택 사항입니다. 원의 채우기 색상입니다. 옵션은 다음과 같습니다.
|
# Draw a green circle on the screen
robot.screen.draw_circle(120, 120, 40, GREEN)

show_file#
show_file 은 사용자가 업로드한 이미지를 로봇 화면에 표시하며, 이미지의 기준점을 기반으로 x, y및 center 매개변수를 사용하여 이미지의 위치를 설정합니다.
Usage:
robot.screen.show_file(file, x, y, center)
매개변수 |
설명 |
|---|---|
|
사용할 사용자 지정 이미지는 |
|
이미지의 수평 오프셋 값입니다. 픽셀 단위의 정수로 주어집니다. 양수 값은 이미지를 오른쪽으로 이동시키고, 음수 값은 왼쪽으로 이동시킵니다. |
|
이미지의 수직 오프셋 값입니다. 픽셀 단위의 정수로 주어집니다. 양수 값은 이미지를 아래로 이동시키고, 음수 값은 위로 이동시킵니다. |
|
선택 사항입니다. |
# Display uploaded Image 1 in the top left corner
robot.screen.show_file(IMAGE1, 0, 0)
# Show the same image on both sides of the screen
# Image size is 120 x 120
robot.screen.show_file(IMAGE1, 65, 0, center=True)
robot.screen.show_file(IMAGE1, -65, 0, center=True)
set_clip_region#
set_clip_region 은 화면에서 모든 그림과 텍스트가 표시될 직사각형 영역을 정의합니다. 이 영역 밖의 콘텐츠는 표시되지 않습니다.
Usage:
robot.screen.set_clip_region(x, y, width, height)
매개변수 |
설명 |
|---|---|
|
클립 영역의 왼쪽 상단 모서리의 x 좌표는 0에서 240까지의 십진수 ( |
|
클립 영역의 왼쪽 상단 모서리의 y 좌표는 0에서 240까지의 십진수( |
|
클립 영역의 너비는 픽셀 단위로 0에서 240까지의 소수점 값( |
|
클립 영역의 높이는 픽셀 단위로 0에서 240까지의 소수점 값( |
# Restrict text and drawings to a specific region
robot.screen.set_clip_region(0, 0, 120, 120)
robot.screen.draw_rectangle(60, 60, 100, 100, RED)
robot.screen.print_at("Cut off!", x=60, y=60)

콜백#
pressed#
pressed 로봇 화면이 눌렸을 때 호출될 메서드를 등록합니다.
Usage:robot.screen.pressed(callback, arg)
매개변수 |
설명 |
|---|---|
|
컨트롤러 화면이 눌렸을 때 실행되도록 미리 정의된 함수. |
|
선택 사항입니다. 콜백 함수에 전달할 인수를 포함하는 튜플입니다. 자세한 내용은 매개변수가 있는 함수 사용을 참조하세요. |
# Set the LEDs to green when the screen is pressed.
def screen_touched():
robot.led.on(ALL_LEDS, GREEN)
robot.screen.pressed(screen_touched)
released#
released 의 화면이 해제될 때 호출될 메서드를 등록합니다.
Usage:robot.screen.released(callback, arg)
매개변수 |
설명 |
|---|---|
|
컨트롤러 화면이 눌렸을 때 실행되도록 미리 정의된 함수. |
|
선택 사항입니다. 콜백 함수에 전달할 인수를 포함하는 튜플입니다. 자세한 내용은 매개변수가 있는 함수 사용을 참조하세요. |
# Set the LEDs to blue when the screen is released.
def screen_released():
robot.led.on(ALL_LEDS, BLUE)
robot.screen.released(screen_released)








