화면#
소개#
screen 클래스는 brain 기본 클래스에서 파생됩니다. 이는 V5 브레인이 터치스크린에 텍스트, 숫자 및 그래픽을 표시하는 방법과 터치 입력에 반응하는 방법을 제어합니다.
기본적으로 Brain에 인쇄할 때 사용하는 글꼴은 고폭 고정폭 글꼴이며, 12행 48열로 구성됩니다.
그림을 그릴 때 브레인의 해상도는 480 x 240 픽셀입니다.

입장#
screen 클래스는 다음 방법으로 접근할 수 있습니다.
Brain.Screen
메모#
The
screenobject is provided by the Brain. It is not constructed directly.프로젝트는 단일 전역
Brain객체를 사용하므로 화면 함수는Brain.Screen사용하여 호출됩니다.
예#
/* This constructor is required when using VS Code.
A Brain is generated automatically at the start of
VEXcode projects. */
// Create the V5 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— Brain 화면에서 모든 그림과 텍스트를 지웁니다.setFont— 화면에 인쇄하는 데 사용되는 글꼴을 설정합니다.setPenWidth— 그려진 선과 도형 윤곽선의 두께를 설정합니다.setPenColor— 텍스트, 픽셀, 선 및 도형 윤곽선의 색상을 설정합니다.setFillColor— 그려진 도형과 인쇄된 텍스트 배경의 채우기 색상을 설정합니다.setOrigin— 화면 좌표에 사용되는 원점을 설정합니다.setClipRegion— 화면 출력을 직사각형 영역으로 제한합니다.drawPixel— 좌표에 픽셀 하나를 그립니다.drawLine— 두 점 사이에 선을 그립니다.drawRectangle— 지정된 크기의 사각형을 x, y 위치에 그립니다.drawCircle— 지정된 반지름으로 x, y 위치에 원을 그립니다.drawImageFromFile— SD 카드 파일에서 이미지를 화면에 그립니다.render— 이중 버퍼링을 활성화하거나 백 버퍼를 화면에 렌더링합니다.pressing누르기 — 화면이 현재 눌러지고 있는지 여부를 반환합니다.xPosition— 가장 최근 화면 누름의 x좌표를 반환합니다.yPosition— 가장 최근 화면 누름의 y좌표를 반환합니다.pressed눌림 — 화면이 눌렸을 때 실행될 콜백 함수를 등록합니다.released— 화면이 눌린 후 해제될 때 실행될 콜백 함수를 등록합니다.
screen 멤버 함수를 호출하기 전에 아래와 같이 brain 인스턴스를 생성해야 합니다.
// Create the V5 Brain
brain Brain = brain();
print#
V5 브레인 화면에 텍스트, 숫자 또는 부울 값을 표시합니다.
Available Functions1 — 문자열 리터럴 또는 읽기 전용 C 스타일 문자열을 사용하여 서식이 지정된 텍스트를 출력합니다.
void print( const char* format, ... );
Parameters2 — 수정 가능한 문자 배열을 사용하여 서식이 지정된 텍스트를 출력합니다.
void print( char* format, ... );
매개변수 |
유형 |
설명 |
|---|---|---|
|
|
형식 문자열은 문자열 리터럴 또는 읽기 전용 C 스타일 문자열로 제공됩니다(예: |
|
|
수정 가능한 문자 배열로 제공되는 형식 문자열입니다. |
|
형식 문자열에 삽입되는 하나 이상의 추가 값이며, 쉼표로 구분됩니다. |
이 함수는 값을 반환하지 않습니다.
Notesprint로 인쇄된 텍스트는 항상 배경과 함께 인쇄되며, 배경색은 현재 채우기 색상 에 따라 결정됩니다.형식 문자열을 사용할 때 전달되는 값의 개수와 유형은 문자열의 형식 지정자와 일치해야 합니다.
// Display a message at the starting cursor
Brain.Screen.print("Hello, Robot!");

setCursor#
V5 Brain 화면의 특정 행과 열로 커서를 이동합니다. 다음 print 호출은 해당 위치에서 인쇄를 시작합니다.
void setCursor(
int32_t row,
int32_t col );
매개변수 |
유형 |
설명 |
|---|---|---|
|
|
커서를 이동할 행입니다. |
|
|
커서를 이동할 열입니다. |
이 함수는 값을 반환하지 않습니다.
Notesprint를 사용할 때 후속 텍스트 출력이 시작되는 위치에 영향을 미칩니다.행과 열은 현재 설정된 화면 글꼴을 기준으로 합니다.
기본 글꼴(
mono20)은 12행 48열을 사용합니다.setCursor을 호출하면 이후 텍스트 출력의 위치에만 영향을 미칩니다.
// Display text starting at Row 3 Column 12
Brain.Screen.setCursor(3, 12);
Brain.Screen.print("Row 3, Column 12");

newLine#
Brain 화면에서 커서를 다음 행의 시작 부분으로 이동합니다.
Available Functionsvoid newLine();
이 함수는 매개변수를 받지 않습니다.
Return Values이 함수는 값을 반환하지 않습니다.
Notes커서가 문장 중간에 있는 경우,
newLine입력하면 커서 뒤의 나머지 행 내용을 모두 지우고 다음 행으로 이동합니다.newLine호출하면 커서가 다음 줄의 첫 번째 열에 위치하게 됩니다.커서 위치와 행 번호는
setCursor를 사용하여 설정됩니다.
// Display two lines of text
Brain.Screen.print("Line 1");
Brain.Screen.newLine();
Brain.Screen.print("Line 2");

clearLine#
V5 브레인 화면의 특정 행에서 텍스트를 지웁니다.
Available Functions1 — 커서 위치에서 현재 줄의 나머지 부분을 지웁니다.
void clearLine();
2 — 현재 구성된 채우기 색상을 사용하여 지정된 행을 지웁니다.
void clearLine( int number );
3 — 미리 정의된 또는 사용자 지정 색상 개체를 사용하여 지정된 행을 지웁니다.
void clearLine( int number, const color& color );
4 — 16진수 색상 값을 사용하여 지정된 행을 지웁니다.
void clearLine( int number, const char* color );
Parameters5 — 색조 값을 사용하여 지정된 행을 지웁니다.
void clearLine( int number, int hue );
매개변수 |
유형 |
설명 |
|---|---|---|
|
|
지울 행 번호입니다. 행 번호는 |
|
|
|
|
|
16진수 색상 값을 사용하여 행을 지웁니다(예: |
|
|
색상환의 각도를 나타내는 |
이 함수는 값을 반환하지 않습니다.
Notes한 줄을 지워도 현재 커서 위치는 변경되지 않습니다.
커서 위치와 행 번호는
setCursor를 사용하여 설정됩니다.hue매개변수 값은 아래 그림과 같이 원형 색상환을 기반으로 하며, 값은 색상환 주위의 각도를 나타냅니다(예: 빨간색은 0° 부근, 녹색은 120° 부근, 파란색은 240° 부근).

// 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#
V5 브레인 화면에 텍스트가 출력될 행을 반환합니다.
Available Functionsint32_t row();
이 함수는 매개변수를 받지 않습니다.
Return Values텍스트가 출력될 행을 나타내는 int32_t 을 반환합니다.
행 번호는 1부터 시작합니다.
NotesThe cursor position is based on the current screen font.
반환된 값은 다음 출력물이 나타날 위치를 나타냅니다.
텍스트가 인쇄되거나
setCursor가 호출될 때 행 값이 변경됩니다.
// Display the cursor's current row
Brain.Screen.setCursor(3, 12);
Brain.Screen.print(Brain.Screen.row());

column#
V5 Brain 화면에 텍스트가 출력될 열을 반환합니다.
Available Functionsint32_t column();
이 함수는 매개변수를 받지 않습니다.
Return Values텍스트가 출력될 열을 나타내는 int32_t 을 반환합니다.
열 번호는 1부터 시작합니다.
NotesThe cursor position is based on the current screen font.
반환된 값은 다음 출력물이 나타날 위치를 나타냅니다.
텍스트가 인쇄되거나
setCursor가 호출될 때 열 값이 변경됩니다.
// Display the cursor's current column
Brain.Screen.setCursor(5, 15);
Brain.Screen.print(Brain.Screen.column());

getStringHeight#
V5 Brain 화면에 렌더링될 때 문자열의 높이를 픽셀 단위로 반환합니다.
Available Functionsint32_t getStringHeight(
const char* cstr );
매개변수 |
유형 |
설명 |
|---|---|---|
|
|
측정할 텍스트는 C 스타일 문자열로 제공됩니다(예: |
Brain 화면에 렌더링될 때 문자열의 높이를 픽셀 단위로 나타내는 int32_t 을 반환합니다.
반환되는 높이는 현재 선택된 화면 에 따라 달라.
이 함수는 화면에 문자열을 표시하지 않고 문자열의 길이를 측정합니다.
반환된 높이는 문자열이 출력될 때의 모습을 반영합니다.
getStringWidth#
V5 Brain 화면에 표시될 때 문자열의 너비를 픽셀 단위로 반환합니다.
Available Functionsint32_t getStringWidth(
const char* cstr );
매개변수 |
유형 |
설명 |
|---|---|---|
|
|
측정할 텍스트는 C 스타일 문자열로 제공됩니다(예: |
Brain 화면에 렌더링될 때 문자열의 너비를 픽셀 단위로 나타내는 int32_t 을 반환합니다.
반환되는 너비는 현재 선택된 화면 에 따라 달라.
이 함수는 화면에 문자열을 표시하지 않고 문자열의 길이를 측정합니다.
반환된 너비는 문자열이 출력될 때의 모양을 반영합니다.
printAt#
V5 브레인 화면의 특정 좌표에 텍스트, 숫자 또는 부울 값을 출력합니다.
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 좌표입니다. |
|
|
인쇄된 텍스트를 불투명하게 그릴지 투명하게 그릴지 제어합니다.
|
|
|
화면에 출력될 내용을 제어하는 형식 문자열입니다(예: |
|
형식 문자열에 삽입되는 하나 이상의 추가 값이며, 쉼표로 구분됩니다. |
이 함수는 값을 반환하지 않습니다.
Notesx및y좌표는 현재 화면 원점을 기준으로 하며setOrigin을 사용하여 변경할 수 있습니다.형식 문자열을 사용할 때 전달되는 값의 개수와 유형은 문자열의 형식 지정자와 일치해야 합니다.
// Print "Center" at the center of the screen
Brain.Screen.printAt(220, 120, "Center");

clearScreen#
브레인 화면의 모든 그림과 텍스트를 지우고 커서 위치를 1행 1열로 재설정합니다.
Available Functions1 — 화면을 검은색으로 바꿉니다.
void clearScreen();
2 — 미리 정의된 색상 또는 사용자 지정 색상 객체를 사용하여 화면을 지웁니다.
void clearScreen( const color& color );
3 — 16진수 색상 값을 사용하여 화면을 지웁니다.
void clearScreen( const char* color );
Parameters4 — 색조 값을 사용하여 화면을 지웁니다.
void clearScreen( int hue );
매개변수 |
유형 |
설명 |
|---|---|---|
|
|
|
|
|
16진수 색상 값을 문자열로 표현하여 화면을 지웁니다(예: |
|
|
색상환의 각도를 나타내는 |
이 함수는 값을 반환하지 않습니다.
Noteshue매개변수 값은 아래 그림과 같이 원형 색상환을 기반으로 하며, 값은 색상환 주위의 각도를 나타냅니다(예: 빨간색은 0° 부근, 녹색은 120° 부근, 파란색은 240° 부근).

// 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#
V5 브레인 화면에 표시되는 텍스트에 사용되는 글꼴을 설정합니다.
이것은 print와 같은 화면 텍스트 함수를 사용할 때 후속 텍스트 출력에 적용되는 글꼴을 제어합니다.
void setFont(
fontType font );
매개변수 |
유형 |
설명 |
|---|---|---|
|
|
Sets the font to one of the following:
|
|
|
|
|---|---|---|
|
|
|
|
|
|
|
|
이 함수는 값을 반환하지 않습니다.
Examples// Print larger text
Brain.Screen.setFont(mono40);
Brain.Screen.print("VEX");

// Print in Chinese
Brain.Screen.setFont(fontType::cjk16);
Brain.Screen.print("VEX机器人");

setPenWidth#
그려진 선과 도형 윤곽선의 두께를 설정합니다.
Available Functionsvoid setPenWidth(
uint32_t width );
매개변수 |
유형 |
설명 |
|---|---|---|
|
|
펜 너비는 픽셀 단위로 0에서 32까지입니다. |
이 함수는 값을 반환하지 않습니다.
Notes펜 너비는
drawLine,drawRectangle,drawCircle과 같은 그리기 기능에 적용됩니다.
// Draw a rectangle with a pen width of 10
Brain.Screen.setPenWidth(10);
Brain.Screen.drawRectangle(50, 50, 130, 60);

setPenColor#
텍스트, 픽셀, 선 및 도형 윤곽선의 색상을 설정합니다.
Available Functions1 — 미리 정의된 객체 또는 사용자 지정 색상 객체를 사용하여 펜 색상을 설정합니다.
void setPenColor( const color& color );
2 — 16진수 색상 값을 사용하여 펜 색상을 설정합니다.
void setPenColor( const char* color );
Parameters3 — 색조 값을 사용하여 펜 색상을 설정합니다.
void setPenColor( int hue );
매개변수 |
유형 |
설명 |
|---|---|---|
|
|
|
|
|
16진수 색상 값을 문자열로 표현하여 펜 색상을 설정합니다(예: |
|
|
펜 색상은 |
이 함수는 값을 반환하지 않습니다.
Notes프로젝트 시작 시 기본 펜 색상은
white입니다.펜 색상은 도형의 윤곽선(예:
drawCircle또는drawRectangle), 텍스트 및 숫자 출력(print및printAt) 및drawPixel로 그려진 개별 픽셀에 사용됩니다.hue매개변수 값은 아래 그림과 같이 원형 색상환을 기반으로 하며, 값은 색상환 주위의 각도를 나타냅니다(예: 빨간색은 0° 부근, 녹색은 120° 부근, 파란색은 240° 부근).

// Draw a rectangle with orange borders
Brain.Screen.setPenColor(orange);
Brain.Screen.drawRectangle(50, 50, 130, 60);

setFillColor#
도형을 그릴 때 사용되는 채우기 색상을 설정합니다.
Available Functions1 — 미리 정의된 색상 또는 사용자 지정 색상 객체를 사용하여 채우기 색상을 설정합니다.
void setFillColor( const color& color );
2 — 16진수 색상 값을 사용하여 채우기 색상을 설정합니다.
void setFillColor( const char* color );
Parameters3 — 색조 값을 사용하여 채우기 색상을 설정합니다.
void setFillColor( int hue );
매개변수 |
유형 |
설명 |
|---|---|---|
|
|
|
|
|
16진수 색상 값을 문자열로 표현하여 채우기 색상을 설정합니다(예: |
|
|
색상환의 각도를 나타내는 |
이 함수는 값을 반환하지 않습니다.
Notes프로젝트 시작 시 기본 채우기 색상은
black입니다.채우기 색상은 도형의 내부(예:
drawCircle또는drawRectangle)에 사용됩니다.채우기 색상은 인쇄된 텍스트의 배경색으로 사용됩니다(예:
print및printAt).인쇄된 텍스트에
transparent사용하면 배경은black됩니다.
hue매개변수 값은 아래 그림과 같이 원형 색상환을 기반으로 하며, 값은 색상환 주위의 각도를 나타냅니다(예: 빨간색은 0° 부근, 녹색은 120° 부근, 파란색은 240° 부근).

// Draw a rectangle filled with purple
Brain.Screen.setFillColor(purple);
Brain.Screen.drawRectangle(50, 100, 130, 60);

setOrigin#
Brain 화면에서 그리기 및 좌표 기반 인쇄에 사용되는 원점을 설정합니다.
Available Functionsvoid setOrigin(
int32_t x,
int32_t y );
매개변수 |
유형 |
설명 |
|---|---|---|
|
|
원점의 x축 위치는 브레인 화면의 왼쪽 상단 모서리를 기준으로 0에서 479까지의 범위를 갖습니다. |
|
|
원점의 y축 위치는 브레인 화면의 왼쪽 상단 모서리를 기준으로 0에서 239까지의 범위를 갖습니다. |
이 함수는 값을 반환하지 않습니다.
Notes기본 원점은 화면의 왼쪽 상단 모서리, 즉 좌표 (0, 0)입니다.
원점은
drawLine,drawRectangle,drawCircle,printAt과 같은 좌표 함수에 적용됩니다.원점은 다시 변경되거나 프로젝트가 재설정될 때까지 유효합니다.
setClipRegion#
화면에서 모든 그림과 텍스트가 표시될 직사각형 영역을 정의합니다. 이 영역 밖의 콘텐츠는 표시되지 않습니다.
Available Functionsvoid setClipRegion(
int x,
int y,
int width,
int height );
매개변수 |
유형 |
설명 |
|---|---|---|
|
|
클립 영역의 왼쪽 상단 모서리의 x 좌표이며, 0에서 479 사이의 정수로 주어집니다. |
|
|
클립 영역의 왼쪽 상단 모서리의 y 좌표이며, 0에서 239 사이의 정수로 주어집니다. |
|
|
클립 영역의 너비를 픽셀 단위로 지정하며, 0에서 479 사이의 정수입니다. |
|
|
클립 영역의 높이를 픽셀 단위로 지정하며, 0에서 239 사이의 정수입니다. |
이 함수는 값을 반환하지 않습니다.
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#
선택한 x, y 픽셀 위치에 V5 브레인 화면의 픽셀 하나를 그립니다.
Available Functionsvoid drawPixel(
int x,
int y );
매개변수 |
유형 |
설명 |
|---|---|---|
|
|
픽셀이 그려질 x 좌표이며, 0에서 479 사이의 정수로 주어집니다. |
|
|
픽셀이 그려질 y 좌표이며, 0에서 239 사이의 정수로 주어집니다. |
이 함수는 값을 반환하지 않습니다.
Notes픽셀은
setPenColor로 설정된 현재 펜 색상을 사용하여 그려집니다.x및y좌표는 현재 화면 원점을 기준으로 하며, 이는setOrigin을 사용하여 설정할 수 있습니다.지정된 픽셀 위치가 화면 범위를 벗어나면 해당 픽셀은 그려지지 않습니다.
// Draw the pixels marking the corners of a square
Brain.Screen.drawPixel(250, 100);
Brain.Screen.drawPixel(275, 100);
Brain.Screen.drawPixel(250, 125);
Brain.Screen.drawPixel(275, 125);
![]()
drawLine#
V5 브레인 화면에서 두 점을 연결하는 직선을 그립니다.
Available Functionsvoid drawLine(
int x1,
int y1,
int x2,
int y2 );
매개변수 |
유형 |
설명 |
|---|---|---|
|
|
선분의 시작 x좌표는 0부터 479까지의 정수로 주어집니다. |
|
|
선분의 시작 y좌표는 0부터 239까지의 정수로 주어집니다. |
|
|
선분의 끝점의 x좌표는 0부터 479까지의 정수로 주어집니다. |
|
|
선분의 끝 y좌표는 0부터 239까지의 정수로 주어집니다. |
이 함수는 값을 반환하지 않습니다.
Notes선은
setPenColor로 설정된 현재 펜 색상을 사용하여 그려집니다.선의 너비는
setPenWidth로 설정된 현재 펜 너비에 따라 결정됩니다.x및y좌표는 현재 화면 원점을 기준으로 하며, 이는setOrigin을 사용하여 설정할 수 있습니다.선의 일부가 화면 범위를 벗어나면 보이는 부분만 그려집니다.
// Draw a line from the top left to bottom right of the screen
Brain.Screen.drawLine(0, 0, 479, 239);

drawRectangle#
V5 브레인 화면의 지정된 위치와 크기에 사각형을 그립니다.
Available Functions1 — 현재 구성된 채우기 색상을 사용하여 직사각형을 그리고 채웁니다.
void drawRectangle( int x, int y, int width, int height );
2 — 미리 정의된 객체 또는 사용자 지정 색상 객체를 사용하여 사각형을 그리고 채웁니다.
void drawRectangle( int x, int y, int width, int height, const color& color );
3 — 16진수 색상 값을 사용하여 사각형을 그리고 채웁니다.
void drawRectangle( int x, int y, int width, int height, const char* color );
Parameters4 — 색조 값을 사용하여 사각형을 그리고 채웁니다.
void drawRectangle( int x, int y, int width, int height, int hue );
매개변수 |
유형 |
설명 |
|---|---|---|
|
|
직사각형의 왼쪽 위 모서리의 x좌표를 0부터 479까지의 정수로 나타냅니다. |
|
|
직사각형의 왼쪽 위 모서리의 y좌표는 0부터 239까지의 정수로 주어집니다. |
|
|
직사각형의 너비는 0부터 479까지의 정수로 주어집니다. |
|
|
직사각형의 높이는 0부터 239까지의 정수로 주어집니다. |
|
|
|
|
|
사각형 영역을 16진수 색상 값(예: |
|
|
|
이 함수는 값을 반환하지 않습니다.
Notes사각형 윤곽선은
setPenColor로 설정된 현재 펜 색상을 사용하여 그려집니다.윤곽선 두께는
setPenWidth로 설정된 현재 펜 너비에 의해 결정됩니다.color매개변수가 제공되지 않으면 사각형 내부는setFillColor로 설정된 현재 채우기 색상을 사용하여 채워집니다.x및y좌표는 현재 화면 원점을 기준으로 하며setOrigin을 사용하여 변경할 수 있습니다.사각형의 일부가 화면 경계를 벗어나면 보이는 부분만 그려집니다.
hue매개변수 값은 아래 그림과 같이 원형 색상환을 기반으로 하며, 값은 색상환 주위의 각도를 나타냅니다(예: 빨간색은 0° 부근, 녹색은 120° 부근, 파란색은 240° 부근).

// Draw a rectangle on the screen
Brain.Screen.drawRectangle(50, 50, 130, 60);

drawCircle#
V5 브레인 화면의 지정된 위치와 반지름에 원을 그립니다.
Available Functions1 — 현재 구성된 채우기 색상을 사용하여 원을 그리고 채웁니다.
void drawCircle( int x, int y, int radius );
2 — 미리 정의된 객체 또는 사용자 지정 색상 객체를 사용하여 원을 그리고 채웁니다.
void drawCircle( int x, int y, int radius, const color& color );
3 — 16진수 색상 값을 사용하여 원을 그리고 채웁니다.
void drawCircle( int x, int y, int radius, const char* color );
Parameters4 — 색조 값을 사용하여 원을 그리고 채웁니다.
void drawCircle( int x, int y, int radius, int hue );
매개변수 |
유형 |
설명 |
|---|---|---|
|
|
원의 중심의 x좌표는 0부터 479까지의 정수로 주어집니다. |
|
|
원의 중심의 y좌표는 0부터 239까지의 정수로 주어집니다. |
|
|
원의 반지름은 0에서 239픽셀 사이의 정수로 주어집니다. |
|
|
|
|
|
16진수 색상 값(예: |
|
|
|
이 함수는 값을 반환하지 않습니다.
Notes원형 윤곽선은
setPenColor로 설정된 현재 펜 색상을 사용하여 그려집니다.윤곽선 두께는
setPenWidth로 설정된 현재 펜 너비에 의해 결정됩니다.color매개변수가 제공되지 않으면 원 내부는setFillColor로 설정된 현재 채우기 색상을 사용하여 채워집니다.x및y좌표는 현재 화면 원점을 기준으로 하며setOrigin을 사용하여 변경할 수 있습니다.hue매개변수 값은 아래 그림과 같이 원형 색상환을 기반으로 하며, 값은 색상환 주위의 각도를 나타냅니다(예: 빨간색은 0° 부근, 녹색은 120° 부근, 파란색은 240° 부근).

// Draw a circle on the screen
Brain.Screen.drawCircle(240, 120, 40);

drawImageFromFile#
SD 카드에 저장된 이미지 파일을 사용하여 V5 Brain 화면에 이미지를 그립니다.
Available Functionsbool drawImageFromFile(
const char* name,
int x,
int y );
매개변수 |
유형 |
설명 |
|---|---|---|
|
|
SD 카드에 저장된 이미지 파일의 파일명입니다. 파일 확장자는 |
|
|
이미지의 왼쪽 가장자리가 그려질 x 좌표(픽셀 단위, 0~479)입니다. |
|
|
이미지의 상단 가장자리가 그려질 y 좌표(픽셀 단위, 0~239)입니다. |
이미지가 성공적으로 그려졌는지 여부를 나타내는 부울 값을 반환합니다.
true— 이미지가 성공적으로 로드되어 화면에 그려졌습니다.false— 이미지를 그릴 수 없었습니다(예: 파일이 없거나 유효하지 않은 경우).
지원되는 이미지 형식은
.bmp및.png입니다.이미지 파일 크기는
512 KB해서는 안 됩니다.파일 크기를 최소화하려면 8비트 RLE 인코딩을 권장합니다.
지원되는 최대 이미지 크기는 Brain 화면 크기(약 479 x 239 픽셀)입니다.
x및y좌표는 현재 화면 원점을 기준으로 하며setOrigin을 사용하여 변경할 수 있습니다.
// 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 사용될 때까지는 아무것도 보이지 않게 됩니다.
1 — 더블 버퍼링을 활성화하거나 백 버퍼의 내용을 화면에 렌더링합니다.
bool render();
Parameters2 — 수직 동기화 동작 및 선택적 스케줄러 실행을 제어하여 백 버퍼를 화면에 렌더링합니다.
bool render( bool bVsyncWait, bool bRunScheduler = true );
매개변수 |
유형 |
설명 |
|---|---|---|
|
|
|
|
|
선택 사항입니다.
|
버퍼에 저장된 그림이 화면에 성공적으로 렌더링되었는지 여부를 나타내는 부울 값을 반환합니다.
true- 그림이 화면에 성공적으로 렌더링되었습니다.false- 그림을 화면에 렌더링할 수 없었습니다.
Notes
render렌더링하면 프로젝트의 나머지 부분에서는render렌더링해야 합니다.
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();
pressing#
V5 브레인 화면이 현재 눌러져 있는지 여부를 보고합니다.
Available Functionsbool pressing();
이 함수는 매개변수를 받지 않습니다.
Return Values현재 화면 눌림 상태를 나타내는 부울 값을 반환합니다.true 은 화면이 현재 눌려 있음을 나타냅니다. 또는 false 은 화면이 눌려 있지 않음을 나타냅니다.
// Change the screen's color after it's pressed
while (Brain.Screen.pressing() == false) {
wait(5, msec);
}
Brain.Screen.setFillColor(green);
Brain.Screen.drawRectangle(0, 0, 479, 239);
// Display different messages after the screen is pressed
while (!Brain.Screen.pressing()) {
wait(5, msec);
}
Brain.Screen.print("First message!");
Brain.Screen.newLine();
// Lift finger to press the screen again
while (Brain.Screen.pressing()) {
wait(5, msec);
}
while (Brain.Screen.pressing() == false) {
wait(5, msec);
}
Brain.Screen.print("Second message!");
Brain.Screen.newLine();
xPosition#
V5 Brain 화면에서 마지막으로 누른 위치의 x 좌표를 반환합니다.
Available Functionsint32_t xPosition();
이 함수는 매개변수를 받지 않습니다.
Return Values마지막 화면 클릭의 x 좌표(0~479 픽셀)를 나타내는 int32_t 를 반환합니다.
// Display a circle where the screen is pressed
while (Brain.Screen.pressing() == false) {
wait(5, msec);
}
Brain.Screen.drawCircle(Brain.Screen.xPosition(), Brain.Screen.yPosition(), 20, white);
yPosition#
V5 브레인 화면에서 마지막으로 누른 위치의 y 좌표를 반환합니다.
Available Functionsint32_t yPosition();
이 함수는 매개변수를 받지 않습니다.
Return Values마지막 화면 클릭의 y 좌표(0~239 픽셀)를 나타내는 0에서 239 사이의 정수 int32_t 를 반환합니다.
// Display a circle where the screen is pressed
while (Brain.Screen.pressing() == false) {
wait(5, msec);
}
Brain.Screen.drawCircle(Brain.Screen.xPosition(), Brain.Screen.yPosition(), 20, white);
pressed#
V5 브레인 화면을 눌렀을 때 호출될 함수를 등록합니다.
Available Functions1 — 화면을 누르면 함수를 호출합니다.
void pressed( void (*callback)(void) );
Parameters2 — 화면을 누르면 함수를 호출하고 사용자 정의 인수를 콜백 함수에 전달합니다.
void pressed( void (*callback)(void*), void* arg );
매개변수 |
유형 |
설명 |
|---|---|---|
|
|
화면을 눌렀을 때 호출되는 함수입니다. |
|
|
화면 터치 시 호출되며 사용자 정의 인수를 받는 함수입니다. |
|
|
화면을 눌렀을 때 콜백 함수로 전달되는 사용자 정의 값입니다. |
이 함수는 값을 반환하지 않습니다.
Notes콜백 함수는 브레인 화면을 누를 때마다 실행됩니다.
한 번에 하나의 콜백 함수만 등록할 수 있습니다.
pressed다시 누르면 이전에 등록했던 콜백 함수가 덮어쓰여집니다.콜백 함수는
void반환해야 합니다.
콜백 함수를 정의하십시오(
int main()외부).// Tracks how many times the screen is pressed. void onScreenPressed(void* arg) { int* count = (int*)arg; (*count)++; Brain.Screen.clearScreen(); Brain.Screen.setCursor(1, 1); Brain.Screen.print("Pressed %d times", *count); }
int main()내부에 콜백을 등록합니다.int main() { int pressCount = 0; // Register the callback and pass a value to update. Brain.Screen.pressed(onScreenPressed, &pressCount); while (true) { wait(20, msec); } }
released#
V5 브레인 화면을 누른 상태에서 손을 떼면 호출될 함수를 등록합니다.
Available Functions1 — 화면 버튼을 누른 후 손을 떼면 함수를 호출합니다.
void released( void (*callback)(void) );
Parameters2 — 화면 터치가 해제될 때 함수를 호출하고 사용자 정의 인수를 콜백 함수에 전달합니다.
void released( void (*callback)(void*), void* arg );
매개변수 |
유형 |
설명 |
|---|---|---|
|
|
화면 터치를 해제했을 때 호출되는 함수입니다. |
|
|
화면 터치가 해제될 때 호출되는 함수로, 사용자가 정의한 인수를 받습니다. |
|
|
사용자가 정의한 값으로, 버튼을 누른 상태에서 손을 떼면 콜백 함수로 전달됩니다. |
이 함수는 값을 반환하지 않습니다.
Notes콜백 함수는 브레인 화면을 누른 후 손을 뗄 때마다 실행됩니다.
한 번에 하나의 콜백 함수만 등록할 수 있습니다.
released이 해제되고 이전 콜백 함수가 다시 대체됩니다.콜백 함수는
void반환해야 합니다.
콜백 함수를 정의하십시오(
int main()외부).// Tracks how many times the screen is released. void onScreenReleased(void* arg) { int* count = (int*)arg; (*count)++; Brain.Screen.clearScreen(); Brain.Screen.setCursor(1, 1); Brain.Screen.print("Released %d times", *count); }
int main()내부에 콜백을 등록합니다.int main() { int releaseCount = 0; // Register the callback and pass a value to update. Brain.Screen.released(onScreenReleased, &releaseCount); while (true) { wait(20, msec); } }










