화면#

소개#

screen 클래스는 brain 기본 클래스에서 파생됩니다. 이는 EXP 브레인이 화면에 텍스트, 숫자 및 그래픽을 표시하는 방식을 제어합니다.

EXP Brain의 화면은 텍스트를 출력할 때 사용할 행과 열의 개수가 정해져 있습니다.

기본적으로 Brain에 인쇄할 때 사용하는 글꼴은 7행 20열의 mono20 입니다.

그림을 그릴 때 브레인의 해상도는 159 x 107 픽셀입니다.

VEX Brain 화면의 레이블이 지정된 격자 다이어그램으로 행, 열, 픽셀 크기 및 좌표를 보여주고 빨간색 선으로 격자의 윤곽을 나타냅니다.

입장#

screen 클래스는 다음 방법으로 접근할 수 있습니다.

Brain.Screen

메모#

  • The screen object 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 EXP 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 — 전체 화면을 지웁니다(선택적으로 지정된 색상으로).

  • setFont — 화면에 인쇄하는 데 사용되는 글꼴을 설정합니다.

  • setPenWidth — 그려진 선과 도형 윤곽선의 두께를 설정합니다.

  • setPenColor — 텍스트, 픽셀, 선 및 도형 윤곽선의 색상을 설정합니다.

  • setFillColor — 그려진 도형과 인쇄된 텍스트 배경의 채우기 색상을 설정합니다.

  • setOrigin — 화면 좌표에 사용되는 원점을 설정합니다.

  • setClipRegion — 화면 출력을 직사각형 영역으로 제한합니다.

  • drawPixel — 좌표에 픽셀 하나를 그립니다.

  • drawLine — 두 점 사이에 선을 그립니다.

  • drawRectangle — 지정된 크기의 사각형을 x, y 위치에 그립니다.

  • drawCircle — 지정된 반지름으로 x, y 위치에 원을 그립니다.

  • drawImageFromFile — SD 카드 파일에서 이미지를 화면에 그립니다.

  • render — 이중 버퍼링을 활성화하거나 백 버퍼를 화면에 렌더링합니다.

screen 멤버 함수를 호출하기 전에 아래와 같이 brain 인스턴스를 생성해야 합니다.

// Create the EXP Brain
brain Brain = brain();

print#

EXP Brain 화면에 텍스트, 숫자 또는 부울 값을 표시합니다.

Available Functions

1 — 문자열 리터럴 또는 읽기 전용 C 스타일 문자열을 사용하여 서식이 지정된 텍스트를 출력합니다.

void print(
    const char* format,
    ... );

2 — 수정 가능한 문자 배열을 사용하여 서식이 지정된 텍스트를 출력합니다.

void print(
    char* format,
    ... );

Parameters

매개변수

유형

설명

format

const char*

형식 문자열은 문자열 리터럴 또는 읽기 전용 C 스타일 문자열로 제공됩니다(예: “Score: %d”).

format

char*

수정 가능한 문자 배열로 제공되는 형식 문자열입니다.

…

형식 문자열에 삽입되는 하나 이상의 추가 값이며, 쉼표로 구분됩니다.

Return Values

이 함수는 값을 반환하지 않습니다.

Notes
  • 출력은 화면상의 현재 커서 위치( 에서 시작됩니다.

  • 인쇄된 텍스트는 현재 화면 글꼴 합니다.

  • 인쇄된 텍스트는 현재 펜 색상 합니다.

  • print 로 인쇄된 텍스트는 항상 배경과 함께 인쇄되며, 배경색은 현재 채우기 색상 에 따라 결정됩니다.

  • 형식 문자열을 사용할 때 전달되는 값의 개수와 유형은 문자열의 형식 지정자와 일치해야 합니다.

Examples
// Display a message at the starting cursor
Brain.Screen.print("Hello, Robot!");

EXP 브레인의 스크린샷으로, 화면 왼쪽 상단에 흰색 글씨로 "Hello, Robot!"이 인쇄되어 있습니다.

setCursor#

EXP Brain 화면에서 커서를 특정 행과 열로 이동합니다. 다음 print 호출은 해당 위치에서부터 인쇄를 시작합니다.

Available Functions
void setCursor(
  int32_t row, 
  int32_t col );

Parameters

매개변수

유형

설명

row

int32_t

커서를 이동할 행입니다.

col

int32_t

커서를 이동할 열입니다.

Return Values

이 함수는 값을 반환하지 않습니다.

Notes
  • print를 사용할 때 후속 텍스트 출력이 시작되는 위치에 영향을 미칩니다.

  • 행과 열은 현재 설정된 화면 글꼴을 기준으로 합니다.

  • 기본 글꼴(mono20)은 12행 48열을 사용합니다.

  • setCursor 을 호출하면 이후 텍스트 출력의 위치에만 영향을 미칩니다.

Examples
// Display text starting at Row 3 Column 10
Brain.Screen.setCursor(3, 10);
Brain.Screen.print("R3, C10");

EXP 브레인의 스크린샷으로 화면 중앙 부근 상단 부분에 3행 12열이 인쇄된 것을 보여줍니다.

newLine#

Brain 화면에서 커서를 다음 행의 시작 부분으로 이동합니다.

Available Functions
void newLine();

Parameters

이 함수는 매개변수를 받지 않습니다.

Return Values

이 함수는 값을 반환하지 않습니다.

Notes
  • 커서가 문장 중간에 있는 경우, newLine 입력하면 커서 뒤의 나머지 행 내용을 모두 지우고 다음 행으로 이동합니다.

  • newLine호출하면 커서가 다음 줄의 첫 번째 열에 위치하게 됩니다.

  • 커서 위치와 행 번호는 setCursor를 사용하여 설정됩니다.

Examples
// Display two lines of text
Brain.Screen.print("Line 1");
Brain.Screen.newLine();
Brain.Screen.print("Line 2");

EXP Brain 화면의 스크린샷으로, 왼쪽 상단에 흰색 텍스트 두 줄이 표시되어 있습니다. 위쪽 줄에는 Line 1이라고 적혀 있고, 바로 아래 줄에는 Line 2라고 적혀 있습니다.

clearLine#

EXP Brain 화면의 특정 행에서 텍스트를 지웁니다.

Available Functions

1 — 커서 위치에서 현재 줄의 나머지 부분을 지웁니다.

void clearLine();

2 — 현재 구성된 채우기 색상을 사용하여 지정된 행을 지웁니다.

void clearLine(
    int number );

3 — 미리 정의된 또는 사용자 지정 색상 개체를 사용하여 지정된 행을 지웁니다.

void clearLine(
    int          number,
    const color& color );

4 — 16진수 색상 값을 사용하여 지정된 행을 지웁니다.

void clearLine(
    int         number,
    const char* color );

5 — 색조 값을 사용하여 지정된 행을 지웁니다.

void clearLine(
    int number,
    int hue );

Parameters

매개변수

유형

설명

number

int

지울 행 번호입니다. 행 번호는 1 부터 시작합니다.

color

const color&

color 개체를 사용하여 행을 지웁니다. 미리 정의된 색상은 다음과 같습니다.

  • black
  • white
  • red
  • green
  • blue
  • yellow
  • orange
  • purple
  • cyan
  • transparent
이 기능은 사용자 지정 색상 개체도 사용할 수 있습니다.

color

const char*

16진수 색상 값(예: “#000000” )을 사용하여 행을 지웁니다.

hue

int

색상환의 각도를 나타내는 0~359범위의 정수 색조 값을 사용하여 행을 지웁니다.

Return Values

이 함수는 값을 반환하지 않습니다.

Notes
  • 한 줄을 지워도 현재 커서 위치는 변경되지 않습니다.

  • 커서 위치와 행 번호는 setCursor를 사용하여 설정됩니다.

  • hue 매개변수 값은 아래 그림과 같이 원형 색상환을 기반으로 하며, 값은 색상환 주위의 각도를 나타냅니다(예: 빨간색은 0° 부근, 녹색은 120° 부근, 파란색은 240° 부근).

빨간색은 0, 녹색은 120, 파란색은 240으로, 0부터 359까지의 색상 범위를 보여주는 색상환입니다.

Examples
// 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#

EXP Brain 화면에 텍스트가 출력될 행을 반환합니다.

Available Functions
int32_t row();

Parameters

이 함수는 매개변수를 받지 않습니다.

Return Values

텍스트가 출력될 행을 나타내는 int32_t 을 반환합니다.

행 번호는 1부터 시작합니다.

Notes
  • The cursor position is based on the current screen font.

  • 반환된 값은 다음 출력물이 나타날 위치를 나타냅니다.

  • 텍스트가 인쇄되거나 setCursor가 호출될 때 행 값이 변경됩니다.

Examples
// Display the cursor's current row
Brain.Screen.setCursor(3, 10);
Brain.Screen.print(Brain.Screen.row());

EXP Brain 화면의 스크린샷으로, 화면 왼쪽 상단 사분면의 3행 10열 위치에 흰색으로 3이라는 텍스트가 표시되어 있습니다.

column#

EXP Brain 화면에 텍스트가 출력될 열을 반환합니다.

Available Functions
int32_t column();

Parameters

이 함수는 매개변수를 받지 않습니다.

Return Values

텍스트가 출력될 열을 나타내는 int32_t 을 반환합니다.

열 번호는 1부터 시작합니다.

Notes
  • The cursor position is based on the current screen font.

  • 반환된 값은 다음 출력물이 나타날 위치를 나타냅니다.

  • 텍스트가 인쇄되거나 setCursor가 호출될 때 열 값이 변경됩니다.

Examples
// Display the cursor's current column
Brain.Screen.setCursor(3, 10);
Brain.Screen.print(Brain.Screen.column());

EXP Brain 화면의 스크린샷으로, 화면 왼쪽 상단 사분면의 3행 10열 위치에 흰색으로 10이라는 텍스트가 표시되어 있습니다.

getStringHeight#

EXP Brain 화면에 렌더링될 때 문자열의 높이를 픽셀 단위로 반환합니다.

Available Functions
int32_t getStringHeight( 
    const char* cstr );

Parameters

매개변수

유형

설명

cstr

const char*

측정할 텍스트는 C 스타일 문자열로 제공됩니다(예: “Hello”).

Return Values

Brain 화면에 렌더링될 때 문자열의 높이를 픽셀 단위로 나타내는 int32_t 을 반환합니다.

Notes
  • 반환되는 높이는 현재 선택된 화면 에 따라 달라.

  • 이 함수는 화면에 문자열을 표시하지 않고 문자열의 길이를 측정합니다.

  • 반환된 높이는 문자열이 출력될 때의 모습을 반영합니다.

getStringWidth#

EXP Brain 화면에 표시될 때 문자열의 너비를 픽셀 단위로 반환합니다.

Available Functions
int32_t getStringWidth( 
    const char* cstr );

Parameters

매개변수

유형

설명

cstr

const char*

측정할 텍스트는 C 스타일 문자열로 제공됩니다(예: “Hello”).

Return Values

Brain 화면에 렌더링될 때 문자열의 너비를 픽셀 단위로 나타내는 int32_t 을 반환합니다.

Notes
  • 반환되는 너비는 현재 선택된 화면 에 따라 달라.

  • 이 함수는 화면에 문자열을 표시하지 않고 문자열의 길이를 측정합니다.

  • 반환된 너비는 문자열이 출력될 때의 모양을 반영합니다.

printAt#

EXP Brain 화면의 특정 좌표에 텍스트, 숫자 또는 불리언 값을 출력합니다.

Available Functions

1 — 지정된 픽셀 위치에 서식이 지정된 출력을 인쇄합니다.

void printAt(
    int32_t    x,
    int32_t    y,
    const char* format,
    ... );

2 — 지정된 픽셀 위치에 서식이 지정된 출력을 인쇄하고 텍스트 배경을 불투명 또는 투명으로 설정합니다.

void printAt(
    int32_t    x,
    int32_t    y,
    bool       bOpaque,
    const char* format,
    ... );

Parameters

매개변수

유형

설명

x

int32_t

화면 원점을 기준으로 출력할 x 좌표입니다.

y

int32_t

화면 원점을 기준으로 출력할 y 좌표입니다.

bOpaque

bool

인쇄된 텍스트를 불투명하게 그릴지 투명하게 그릴지 제어합니다.

  • true — 인쇄된 텍스트의 배경이 현재 채우기 색상으로 채워집니다.
  • false — 텍스트는 투명하게 그려지고 배경은 채워지지 않습니다.

format

const char*

화면에 출력될 내용을 제어하는 ​​형식 문자열입니다(예: “Score: %d”).

…

형식 문자열에 삽입되는 하나 이상의 추가 값이며, 쉼표로 구분됩니다.

Return Values

이 함수는 값을 반환하지 않습니다.

Notes
  • x 및 y 좌표는 현재 화면 원점을 기준으로 하며 setOrigin을 사용하여 변경할 수 있습니다.

  • 인쇄된 텍스트는 현재 화면 글꼴 합니다.

  • 인쇄된 텍스트는 현재 펜 색상 합니다.

  • 형식 문자열을 사용할 때 전달되는 값의 개수와 유형은 문자열의 형식 지정자와 일치해야 합니다.

Examples
// Print the number 1 at pixel (100, 40)
Brain.Screen.printAt(100, 40, "1");

clearScreen#

브레인 화면에서 모든 그림과 텍스트를 지웁니다.

Available Functions

1 — 화면을 검은색으로 바꿉니다.

void clearScreen();

2 — 미리 정의된 색상 또는 사용자 지정 색상 객체를 사용하여 화면을 지웁니다.

void clearScreen(
    const color& color );

3 — 16진수 색상 값을 사용하여 화면을 지웁니다.

void clearScreen(
    const char* color );

4 — 색조 값을 사용하여 화면을 지웁니다.

void clearScreen(
    int hue );

Parameters

매개변수

유형

설명

color

const color&

color 객체를 사용하여 화면을 지웁니다. 미리 정의된 색상은 다음과 같습니다.

  • black
  • white
  • red
  • green
  • blue
  • yellow
  • orange
  • purple
  • cyan
  • transparent
이 기능은 사용자 지정 색상 객체도 사용할 수 있습니다.

color

const char*

16진수 색상 값을 문자열로 표현하여 화면을 지웁니다(예: “#000000”).

hue

int

색상환의 각도를 나타내는 0~359범위의 정수 색조 값을 사용하여 화면을 지웁니다.

Return Values

이 함수는 값을 반환하지 않습니다.

Notes
  • hue 매개변수 값은 아래 그림과 같이 원형 색상환을 기반으로 하며, 값은 색상환 주위의 각도를 나타냅니다(예: 빨간색은 0° 부근, 녹색은 120° 부근, 파란색은 240° 부근).

빨간색은 0, 녹색은 120, 파란색은 240으로, 0부터 359까지의 색상 범위를 보여주는 색상환입니다.

Examples
// 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#

EXP Brain 화면에 표시되는 텍스트에 사용되는 글꼴을 설정합니다.

이것은 print와 같은 화면 텍스트 함수를 사용할 때 후속 텍스트 출력에 적용되는 글꼴을 제어합니다.

Available Functions
void setFont(
  fontType font );

Parameters

매개변수

유형

설명

font

fontType

Sets the font to one of the following:

  • mono12
  • mono15
  • mono20
  • mono30
  • mono40
  • mono60
  • prop20
  • prop30
  • prop40
  • prop60
These options are shown below.

The Brain 화면에는 모노 12 글꼴 크기의 숫자와 문자가 인쇄되어 있습니다. A부터 Z까지 모든 숫자가 표시됩니다. 화면 하단에는 9행 26열이라고 적혀 있습니다.
mono12

두뇌 화면에는 모노 15 폰트 크기로 숫자와 문자가 인쇄되어 있습니다. A부터 T까지 모든 숫자가 표시됩니다. 화면 하단에는 7행 22열이라고 적혀 있습니다.
mono15

두뇌 화면에는 모노 20pt 글꼴로 숫자와 문자가 인쇄되어 있습니다. A부터 P까지 모든 숫자가 표시됩니다. 화면 하단에는 5행 16열이라고 적혀 있습니다.
mono20

브레인의 화면에는 모노 30 폰트 크기의 숫자와 문자가 인쇄되어 있습니다. A부터 J까지 표시되어 있으며, 화면 하단에는 R:3 C:10이라고 적혀 있습니다.
mono30

브레인의 화면에는 모노 40 폰트 크기의 숫자와 문자가 인쇄되어 있습니다. 화면 하단에는 R:2 C:8이라고 적혀 있습니다.
mono40

브레인의 스크린 인쇄 숫자 및 문자는 모노 60 글꼴 크기입니다. MON60만 표시됩니다.
mono60

브레인의 화면에는 크기 prop 20 폰트로 숫자와 문자가 인쇄되어 있습니다. A부터 W까지 모든 숫자가 표시됩니다. 화면 하단에는 5행 16열이라고 적혀 있습니다.
prop20

브레인의 화면에는 prop 30 크기의 글꼴로 숫자와 문자가 인쇄되어 있습니다. A부터 P까지 표시되어 있습니다. 화면 하단에는 R:3 C:10이라고 적혀 있습니다.
prop30

브레인의 화면에는 prop 40 크기의 글꼴로 숫자와 문자가 인쇄되어 있습니다. 화면 하단에는 R:2 C:8이라고 적혀 있습니다.
prop40

TThe Brain의 화면에 인쇄된 숫자와 문자는 크기 prop 60 글꼴입니다. PROP60만 표시됩니다.
prop60

Return Values

이 함수는 값을 반환하지 않습니다.

Examples
// Print larger text
Brain.Screen.setFont(mono40);
Brain.Screen.print("VEX");

EXP Brain 화면의 스크린샷으로, 왼쪽 상단 모서리에 기본값보다 큰 글꼴로 VEX라고 적힌 흰색 텍스트가 표시됩니다.

setPenWidth#

그려진 선과 도형 윤곽선의 두께를 설정합니다.

Available Functions
void setPenWidth(
  uint32_t width );

Parameters

매개변수

유형

설명

width

uint32_t

펜 너비는 픽셀 단위로 0에서 32 사이의 범위를 갖습니다.

Return Values

이 함수는 값을 반환하지 않습니다.

Notes Examples
// Draw a rectangle with a pen width of 10
Brain.Screen.setPenWidth(10);
Brain.Screen.drawRectangle(20, 20, 75, 50);

EXP Brain 화면의 스크린샷으로, 화면 왼쪽에 두꺼운 테두리가 있는 직사각형이 인쇄되어 있습니다.

setPenColor#

선, 도형 및 텍스트를 그릴 때 사용할 펜 색상을 설정합니다.

Available Functions

1 — 미리 정의된 객체 또는 사용자 지정 색상 객체를 사용하여 펜 색상을 설정합니다.

void setPenColor(
    const color& color );

2 — 16진수 색상 값을 사용하여 펜 색상을 설정합니다.

void setPenColor(
    const char* color );

3 — 색조 값을 사용하여 펜 색상을 설정합니다.

void setPenColor(
    int hue );

Parameters

매개변수

유형

설명

color

const color&

color 객체를 사용하여 펜 색상을 설정합니다. 미리 정의된 색상은 다음과 같습니다.

  • black
  • white
  • red
  • green
  • blue
  • yellow
  • orange
  • purple
  • cyan
  • transparent
이 기능은 사용자 지정 색상 객체도 사용할 수 있습니다.

color

const char*

16진수 색상 값을 문자열로 표현하여 펜 색상을 설정합니다(예: “#FF0000”).

hue

int

펜 색상은 0~359범위의 정수 색조 값을 사용하여 설정합니다. 이 값은 색상환의 각도를 나타냅니다(예: 0 는 빨간색, 120 은 녹색, 240 는 파란색).

Return Values

이 함수는 값을 반환하지 않습니다.

Notes
  • 프로젝트 시작 시 기본 펜 색상은 white 입니다.

  • 펜 색상은 도형의 윤곽선(예: drawCircle 또는 drawRectangle), 텍스트 및 숫자 출력(print 및 printAt) 및 drawPixel로 그려진 개별 픽셀에 사용됩니다.

  • hue 매개변수 값은 아래 그림과 같이 원형 색상환을 기반으로 하며, 값은 색상환 주위의 각도를 나타냅니다(예: 빨간색은 0° 부근, 녹색은 120° 부근, 파란색은 240° 부근).

빨간색은 0, 녹색은 120, 파란색은 240으로, 0부터 359까지의 색상 범위를 보여주는 색상환입니다.

Examples
// Draw a rectangle with orange borders
Brain.Screen.setPenColor(orange);
Brain.Screen.drawRectangle(20, 20, 75, 50);

EXP Brain 화면의 스크린샷으로 화면 왼쪽에 주황색 사각형이 그려져 있습니다.

setFillColor#

도형을 그릴 때 사용되는 채우기 색상을 설정합니다.

Available Functions

1 — 미리 정의된 색상 또는 사용자 지정 색상 객체를 사용하여 채우기 색상을 설정합니다.

void setFillColor(
    const color& color );

2 — 16진수 색상 값을 사용하여 채우기 색상을 설정합니다.

void setFillColor(
    const char* color );

3 — 색조 값을 사용하여 채우기 색상을 설정합니다.

void setFillColor(
    int hue );

Parameters

매개변수

유형

설명

color

const color&

color 객체를 사용하여 채우기 색상을 설정합니다. 미리 정의된 색상에는 다음이 포함됩니다.

  • black
  • white
  • red
  • green
  • blue
  • yellow
  • orange
  • purple
  • cyan
  • transparent
또한 사용자 지정 색상 객체를 사용할 수 있습니다.

color

const char*

16진수 색상 값을 문자열로 표현하여 채우기 색상을 설정합니다(예: “#00FF00”).

hue

int

색상환의 각도를 나타내는 0~359범위의 정수 색조 값을 사용하여 채우기 색상을 설정합니다(예: 0 는 빨간색, 120 은 녹색, 240 는 파란색).

Return Values

이 함수는 값을 반환하지 않습니다.

Notes
  • 프로젝트 시작 시 기본 채우기 색상은 black 입니다.

  • 채우기 색상은 도형의 내부(예: drawCircle 또는 drawRectangle)에 사용됩니다.

  • 채우기 색상은 인쇄된 텍스트의 배경색으로 사용됩니다(예: print 및 printAt).

    • 인쇄된 텍스트에 transparent 사용하면 배경은 black 됩니다.

  • hue 매개변수 값은 아래 그림과 같이 원형 색상환을 기반으로 하며, 값은 색상환 주위의 각도를 나타냅니다(예: 빨간색은 0° 부근, 녹색은 120° 부근, 파란색은 240° 부근).

빨간색은 0, 녹색은 120, 파란색은 240으로, 0부터 359까지의 색상 범위를 보여주는 색상환입니다.

Examples
// Draw a rectangle filled with purple
  Brain.Screen.setFillColor(purple);
  Brain.Screen.drawRectangle(20, 20, 75, 50);

EXP Brain 화면의 스크린샷으로 화면 왼쪽에 보라색으로 채워진 사각형이 표시됩니다.

setOrigin#

브레인 화면에 그래픽을 그릴 때 사용하는 원점을 설정합니다.

Available Functions
void setOrigin(
  int32_t x,
  int32_t y );

Parameters

매개변수

유형

설명

x

int32_t

원점의 x 좌표는 브레인 화면의 왼쪽 상단 모서리를 기준으로 0에서 159까지의 범위를 갖습니다.

y

int32_t

원점의 y축 위치는 브레인 화면의 왼쪽 상단 모서리를 기준으로 0에서 107까지의 범위를 갖습니다.

Return Values

이 함수는 값을 반환하지 않습니다.

Notes
  • 기본 원점은 화면의 왼쪽 상단 모서리, 즉 좌표 (0, 0)입니다.

  • 원점은 drawLine, drawRectangle, drawCircle, printAt과 같은 좌표 함수에 적용됩니다.

  • 원점은 다시 변경되거나 프로젝트가 재설정될 때까지 유효합니다.

setClipRegion#

화면에서 모든 그림과 텍스트가 표시될 직사각형 영역을 정의합니다. 이 영역 밖의 콘텐츠는 표시되지 않습니다.

Available Functions
void setClipRegion(
  int x,
  int y,
  int width,
  int height );

Parameters

매개변수

유형

설명

x

int

클립 영역의 왼쪽 상단 모서리의 x 좌표이며, 0에서 159 사이의 정수로 주어집니다.

y

int

클립 영역의 왼쪽 상단 모서리의 y 좌표이며, 0에서 107 사이의 정수로 주어집니다.

width

int

클립 영역의 너비를 픽셀 단위로 지정하며, 0에서 159 사이의 정수입니다.

height

int

클립 영역의 높이를 픽셀 단위로 지정하며, 0에서 107 사이의 정수입니다.

Return Values

이 함수는 값을 반환하지 않습니다.

Notes
  • 그리기 함수는 클립 영역 밖에 있더라도 계속 실행되지만, 영역 내부의 부분만 표시됩니다.

  • x 및 y 좌표는 현재 화면 원점을 기준으로 하며 setOrigin을 사용하여 변경할 수 있습니다.

  • 클립 영역은 현재 스레드에만 적용됩니다.

  • 새로운 클립 영역을 설정하면 현재 스레드에 대해 이전에 설정된 클립 영역이 모두 덮어쓰여집니다.

Examples

drawPixel#

EXP Brain 화면의 선택한 x, y 픽셀 위치에 픽셀 하나를 그립니다.

Available Functions
void drawPixel(
  int x,
  int y );

Parameters

매개변수

유형

설명

x

int

픽셀이 그려질 x 좌표이며, 0에서 159 사이의 정수로 주어집니다.

y

int

픽셀이 그려질 y 좌표이며, 0에서 107 사이의 정수로 주어집니다.

Return Values

이 함수는 값을 반환하지 않습니다.

Notes
  • 픽셀은 setPenColor로 설정된 현재 펜 색상을 사용하여 그려집니다.

  • x 및 y 좌표는 현재 화면 원점을 기준으로 하며, 이는 setOrigin을 사용하여 설정할 수 있습니다.

  • 지정된 픽셀 위치가 화면 범위를 벗어나면 해당 픽셀은 그려지지 않습니다.

Examples
// Draw the pixels marking the corners of a square
Brain.Screen.drawPixel(50, 50);
Brain.Screen.drawPixel(50, 75);
Brain.Screen.drawPixel(75, 50);
Brain.Screen.drawPixel(75, 75);

EXP Brain 화면의 스크린샷으로, 화면 중앙 부근에 정사각형 모서리의 다양한 픽셀이 나타납니다.

drawLine#

EXP Brain 화면에서 두 점을 연결하는 직선을 그립니다.

Available Functions
void drawLine(
  int x1,
  int y1,
  int x2,
  int y2 );

Parameters

매개변수

유형

설명

x1

int

선분의 시작 x좌표는 0부터 159까지의 정수로 주어집니다.

y1

int

직선의 시작 y 좌표는 0에서 107 사이의 정수로 주어집니다.

x2

int

선분의 끝점의 x좌표는 0부터 159까지의 정수로 주어집니다.

y2

int

직선의 끝 y좌표는 0에서 107 사이의 정수로 주어집니다.

Return Values

이 함수는 값을 반환하지 않습니다.

Notes
  • 선은 setPenColor로 설정된 현재 펜 색상을 사용하여 그려집니다.

  • 선의 너비는 setPenWidth로 설정된 현재 펜 너비에 따라 결정됩니다.

  • x 및 y 좌표는 현재 화면 원점을 기준으로 하며, 이는 setOrigin을 사용하여 설정할 수 있습니다.

  • 선의 일부가 화면 범위를 벗어나면 보이는 부분만 그려집니다.

Examples
// Draw a line from the top left to bottom right of the screen
Brain.Screen.drawLine(0, 0, 159, 107);

EXP Brain 화면의 스크린샷에는 왼쪽 위 모서리에서 오른쪽 아래 모서리까지 중앙을 가로지르는 얇은 대각선이 나타납니다.

drawRectangle#

EXP Brain 화면에 지정된 위치와 크기의 직사각형을 그립니다.

Available Functions

1 — 현재 구성된 채우기 색상을 사용하여 직사각형을 그리고 채웁니다.

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 );

4 — 색조 값을 사용하여 사각형을 그리고 채웁니다.

void drawRectangle(
    int x,
    int y,
    int width,
    int height,
    int hue );

Parameters

매개변수

유형

설명

x

int

직사각형의 왼쪽 위 모서리의 x좌표를 0부터 159까지의 정수로 나타냅니다.

y

int

직사각형의 왼쪽 위 모서리의 y좌표를 0부터 107까지의 정수로 나타냅니다.

width

int

직사각형의 너비는 0에서 159 사이의 정수로 주어집니다.

height

int

직사각형의 높이는 0부터 107까지의 정수로 주어집니다.

color

const color&

color 객체를 사용하여 사각형을 채웁니다. 미리 정의된 색상은 다음과 같습니다.

  • black
  • white
  • red
  • green
  • blue
  • yellow
  • orange
  • purple
  • cyan
  • transparent
또한 사용자 지정 색상 객체를 사용할 수 있습니다.

color

const char*

사각형 영역을 16진수 색상 값(예: “#FF0000” )으로 채웁니다.

hue

int

0–359 범위의 색조 값을 사용하여 사각형을 채웁니다.

Return Values

이 함수는 값을 반환하지 않습니다.

Notes
  • 사각형 윤곽선은 setPenColor로 설정된 현재 펜 색상을 사용하여 그려집니다.

  • 윤곽선 두께는 setPenWidth로 설정된 현재 펜 너비에 의해 결정됩니다.

  • color 매개변수가 제공되지 않으면 사각형 내부는 setFillColor로 설정된 현재 채우기 색상을 사용하여 채워집니다.

  • x 및 y 좌표는 현재 화면 원점을 기준으로 하며 setOrigin을 사용하여 변경할 수 있습니다.

  • 사각형의 일부가 화면 경계를 벗어나면 보이는 부분만 그려집니다.

  • hue 매개변수 값은 아래 그림과 같이 원형 색상환을 기반으로 하며, 값은 색상환 주위의 각도를 나타냅니다(예: 빨간색은 0° 부근, 녹색은 120° 부근, 파란색은 240° 부근).

빨간색은 0, 녹색은 120, 파란색은 240으로, 0부터 359까지의 색상 범위를 보여주는 색상환입니다.

Examples
// Draw a rectangle on the screen
Brain.Screen.drawRectangle(20, 20, 80, 30);

EXP Brain 화면의 스크린샷에는 왼쪽 상단 사분면에 얇은 흰색 테두리가 있는 직사각형이 인쇄되어 있습니다.

drawCircle#

EXP Brain 화면에서 지정된 위치와 반지름으로 원을 그립니다.

Available Functions

1 — 현재 구성된 채우기 색상을 사용하여 원을 그리고 채웁니다.

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 );

4 — 색조 값을 사용하여 원을 그리고 채웁니다.

void drawCircle(
    int x,
    int y,
    int radius,
    int hue );

Parameters

매개변수

유형

설명

x

int

원의 중심의 x좌표는 0부터 159까지의 정수로 주어집니다.

y

int

원의 중심의 y좌표는 0부터 107까지의 정수로 주어집니다.

radius

int

원의 반지름은 0에서 107픽셀 사이의 정수로 주어집니다.

color

const color&

color 객체를 사용하여 원을 채웁니다. 미리 정의된 색상은 다음과 같습니다.

  • black
  • white
  • red
  • green
  • blue
  • yellow
  • orange
  • purple
  • cyan
  • transparent
이 기능은 사용자 지정 색상 객체도 사용할 수 있습니다.

color

const char*

16진수 색상 값(예: “#FF0000” )을 사용하여 원을 채웁니다.

hue

int

0–359 범위의 색조 값을 사용하여 원을 채웁니다.

Return Values

이 함수는 값을 반환하지 않습니다.

Notes
  • 원형 윤곽선은 setPenColor로 설정된 현재 펜 색상을 사용하여 그려집니다.

  • 윤곽선 두께는 setPenWidth로 설정된 현재 펜 너비에 의해 결정됩니다.

  • color 매개변수가 제공되지 않으면 원 내부는 setFillColor로 설정된 현재 채우기 색상을 사용하여 채워집니다.

  • x 및 y 좌표는 현재 화면 원점을 기준으로 하며 setOrigin을 사용하여 변경할 수 있습니다.

  • hue 매개변수 값은 아래 그림과 같이 원형 색상환을 기반으로 하며, 값은 색상환 주위의 각도를 나타냅니다(예: 빨간색은 0° 부근, 녹색은 120° 부근, 파란색은 240° 부근).

빨간색은 0, 녹색은 120, 파란색은 240으로, 0부터 359까지의 색상 범위를 보여주는 색상환입니다.

Examples
// Draw a circle on the screen
Brain.Screen.drawCircle(80, 50, 20);

EXP Brain 화면의 스크린샷에는 가운데에 얇은 흰색 테두리가 있는 원이 그려져 있습니다.

drawImageFromFile#

SD 카드에 저장된 이미지 파일을 사용하여 EXP Brain 화면에 이미지를 그립니다.

Available Functions
bool drawImageFromFile(
  const char* name,
  int x,
  int y );

Parameters

매개변수

유형

설명

name

const char*

SD 카드에 저장된 이미지 파일의 이름입니다. 파일 확장자는 .bmp 또는 .png 이어야 합니다.

x

int

이미지의 왼쪽 가장자리가 그려질 x 좌표(픽셀 단위, 0~159)입니다.

y

int

이미지의 상단 가장자리가 그려질 y 좌표(픽셀 단위, 0~107)입니다.

Return Values

이미지가 성공적으로 그려졌는지 여부를 나타내는 부울 값을 반환합니다.

  • true — 이미지가 성공적으로 로드되어 화면에 그려졌습니다.
  • false — 이미지를 그릴 수 없었습니다(예: 파일이 없거나 유효하지 않은 경우).

Notes
  • 지원되는 이미지 형식은 .bmp 및 .png 입니다.

  • 이미지 파일 크기는 512 KB 해서는 안 됩니다.

    • 파일 크기를 최소화하려면 8비트 RLE 인코딩을 권장합니다.

  • 지원되는 최대 이미지 크기는 Brain 화면 크기(약 159 x 107 픽셀)입니다.

  • x 및 y 좌표는 현재 화면 원점을 기준으로 하며 setOrigin을 사용하여 변경할 수 있습니다.

Examples
// 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 사용될 때까지는 아무것도 보이지 않게 됩니다.

Available Functions

1 — 더블 버퍼링을 활성화하거나 백 버퍼의 내용을 화면에 렌더링합니다.

bool render();

2 — 수직 동기화 동작 및 선택적 스케줄러 실행을 제어하여 백 버퍼를 화면에 렌더링합니다.

bool render(
    bool bVsyncWait,
    bool bRunScheduler = true );

Parameters

매개변수

유형

설명

bVsyncWait

bool

​

  • true — 화면 찢김 현상을 줄이기 위해 렌더링 전에 화면의 세로 새로 고침을 기다립니다.
  • false — 렌더링 전에 화면의 세로 새로 고침을 기다리지 않습니다.

bRunScheduler

bool

선택 사항입니다.

  • true (기본값) — 렌더링 대기 중 백그라운드 작업 실행을 허용합니다.
  • false — 렌더링 대기 중 백그라운드 작업 실행을 허용하지 않습니다.

Return Values

버퍼에 저장된 그림이 화면에 성공적으로 렌더링되었는지 여부를 나타내는 부울 값을 반환합니다.

  • true - 그림이 화면에 성공적으로 렌더링되었습니다.
  • false - 그림을 화면에 렌더링할 수 없었습니다.
  • Notes
    • render 렌더링하면 프로젝트의 나머지 부분에서는 render 렌더링해야 합니다.

    Examples
    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();