画面#

導入#

screen クラスは brain 基底クラスから派生しています。EXP Brain が画面にテキスト、数字、グラフィックを表示する方法を制御します。

EXP Brainの画面には、画面上にテキストを印刷する際に使用する行数と列数が決められています。

デフォルトでは、Brainへの印刷に使用されるフォントは mono20 で、これは7行20列です。

描画時のBrainの解像度は159×107ピクセルです。

VEX Brain画面の行、列、ピクセル寸法、座標を示すラベル付きグリッド図。赤い線でグリッドの輪郭が示されています。

アクセス#

screen クラスには、以下の方法でアクセスできます。

Brain.Screen

注記#

  • 画面 screen はブレインによって提供されます。直接構築されるものではありません。

  • プロジェクトは単一の 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 — 座標に 1 つのピクセルを描画します。

  • drawLine — 2点間に線を描画します。

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

変更可能な文字配列として提供されるフォーマット文字列。

…

書式文字列に挿入される1つ以上の追加値。カンマで区切られます。

Return Values

この関数は値を返しません。

Notes
  • 出力は画面上の現在のカーソル位置 つまり から始まります。

  • 印刷されたテキストには、現在の画面フォント 使用されます。

  • 印刷されたテキストは、現在のペンカラー 使用します。

  • print で印刷されるテキストは常に背景付きで印刷され、背景色は 現在の塗りつぶし色によって決定されます。

  • フォーマット文字列を使用する場合、渡される値の数と型は、文字列内の フォーマット指定子 と一致する必要があります。

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

EXP Brainのスクリーンショット。画面左上に白い文字で「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 Brainのスクリーンショット。画面中央付近の上部に、その位置に3行目12列目が印刷されている。

newLine#

ブレイン画面の次の行の先頭にカーソルを移動します。

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画面のスクリーンショット。左上隅に白いテキストが2行表示されています。上の行は「Line 1」、そのすぐ下の2行目は「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&

Clears the row using a color object. Predefined colors include:

  • black
  • white
  • red
  • green
  • blue
  • yellow
  • orange
  • purple
  • cyan
  • transparent
This can also use a custom color object.

color

const char*

16進数の色値を使用して行をクリアします(例: “#000000”)。

hue

int

0~359範囲の整数色相値を使用して行をクリアします。これは、カラーホイール上の度数を表します。

Return Values

この関数は値を返しません。

Notes
  • 行をクリアしても、現在のカーソル位置は変わりません。

  • カーソル位置と行番号は setCursor を使用して設定されます。

  • hue パラメータ値は、下図に示すような円形のカラーホイールに基づいており、値はホイール上の角度を表します(例えば、赤は0°付近、緑は120°付近、青は240°付近)。

0から359までの色の範囲を示すカラーホイール。赤は0、緑は120、青は240です。

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 整数値(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 の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 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”)。

…

書式文字列に挿入される1つ以上の追加値。カンマで区切られます。

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&

Clears the screen using a color object. Predefined colors include:

  • black
  • white
  • red
  • green
  • blue
  • yellow
  • orange
  • purple
  • cyan
  • transparent
This can also use a custom color object.

color

const char*

文字列として表される 16 進数の色値を使用して画面をクリアします (例: “#000000”)。

hue

int

0~359の範囲の整数色相値を使用して画面をクリアします。これは、カラーホイール上の角度を表します。

Return Values

この関数は値を返しません。

Notes
  • hue パラメータ値は、下図に示すような円形のカラーホイールに基づいており、値はホイール上の角度を表します(例えば、赤は0°付近、緑は120°付近、青は240°付近)。

0から359までの色の範囲を示すカラーホイール。赤は0、緑は120、青は240です。

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.

脳のスクリーンには、モノクロ12ポイントのフォントで数字と文字が印刷されています。AからZまでのすべての数字が表示されています。画面の下部には、9行26列と表示されています。
mono12

ブレインのスクリーン印刷された数字と文字は、サイズmono15フォントで表示されています。AからTまでのすべての数字が表示されています。画面の下部には、7行22列と表示されています。
mono15

脳のスクリーン印刷された数字と文字は、サイズ20ポイントのモノクロフォントで表示されています。AからPまでの数字とすべての数字が表示されています。画面の下部には、5行16列と表示されています。
mono20

ブレインのスクリーン印刷された数字と文字は、サイズmono30フォントで表示されています。AからJまで表示されています。画面の下部には、R:3 C:10と表示されています。
mono30

ブレインのスクリーン印刷された数字と文字は、サイズmono40フォントです。スクリーンの下部には、R:2 C:8と表示されています。
mono40

脳のスクリーン印刷された数字と文字は、サイズmono60フォントです。MON60のみが表示されます。
mono60

ブレインのスクリーンには、プロップ20フォントサイズの数字と文字が印刷されています。AからWまでとすべての数字が表示されています。画面の下部には、5行16列と表示されています。
prop20

ブレインのスクリーンには、プロップ30フォントサイズの数字と文字が印刷されている。AからPまでが表示されている。画面下部にはR:3 C:10と表示されている。
prop30

ブレインのスクリーンには、プロップ40フォントサイズの数字と文字が印刷されている。スクリーンの下部には、R:2 C:8と表示されている。
prop40

T脳のスクリーン印刷された数字と文字は、サイズがプロップ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&

Sets the pen color using a color object. Predefined colors include:

  • black
  • white
  • red
  • green
  • blue
  • yellow
  • orange
  • purple
  • cyan
  • transparent
This can also use a custom color object.

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から359までの色の範囲を示すカラーホイール。赤は0、緑は120、青は240です。

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&

Sets the fill color using a color object. Predefined colors include:

  • black
  • white
  • red
  • green
  • blue
  • yellow
  • orange
  • purple
  • cyan
  • transparent
This can also use a custom color object.

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から359までの色の範囲を示すカラーホイール。赤は0、緑は120、青は240です。

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

EXP Brain画面のスクリーンショット。画面左側に紫色の四角形が表示されている。

setOrigin#

Brainの画面にグラフィックを描画する際に使用する原点を設定します。

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#

選択したx座標とy座標に、EXP Brain画面上に1ピクセルを描画します。

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画面上の2点を結ぶ直線を描画します。

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&

Fills the rectangle using a color object. Predefined colors include:

  • black
  • white
  • red
  • green
  • blue
  • yellow
  • orange
  • purple
  • cyan
  • transparent
This can also use a custom color object.

color

const char*

16進数の色値を使用して長方形を塗りつぶします(例: “#FF0000”)。

hue

int

0–359の範囲の色相値を使用して長方形を塗りつぶします。

Return Values

この関数は値を返しません。

Notes
  • 長方形の輪郭は、setPenColorで設定された現在のペンカラーを使用して描画されます。

  • 輪郭線の太さは、setPenWidthで設定された現在のペン幅によって決定されます。

  • color パラメータが指定されていない場合、矩形の内部は setFillColor で設定された現在の塗りつぶし色を使用して塗りつぶされます。

  • x および y 座標は現在の画面原点に対する相対座標であり、setOrigin を使用して変更できます。

  • 長方形の一部が画面の境界外にある場合、表示されている部分のみが描画されます。

  • hue パラメータ値は、下図に示すような円形のカラーホイールに基づいており、値はホイール上の角度を表します(例えば、赤は0°付近、緑は120°付近、青は240°付近)。

0から359までの色の範囲を示すカラーホイール。赤は0、緑は120、青は240です。

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&

Fills the circle using a color object. Predefined colors include:

  • black
  • white
  • red
  • green
  • blue
  • yellow
  • orange
  • purple
  • cyan
  • transparent
This can also use a custom color object.

color

const char*

16進数の色値を使用して円を塗りつぶします(例: “#FF0000”)。

hue

int

円を 0~359の範囲の色相値で塗りつぶします。

Return Values

この関数は値を返しません。

Notes
  • 円の輪郭は、setPenColorで設定された現在のペンカラーを使用して描画されます。

  • 輪郭線の太さは、setPenWidthで設定された現在のペン幅によって決定されます。

  • color パラメータが指定されていない場合、円の内部は setFillColor で設定された現在の塗りつぶし色を使用して塗りつぶされます。

  • x および y 座標は現在の画面原点に対する相対座標であり、setOrigin を使用して変更できます。

  • hue パラメータ値は、下図に示すような円形のカラーホイールに基づいており、値はホイール上の角度を表します(例えば、赤は0°付近、緑は120°付近、青は240°付近)。

0から359までの色の範囲を示すカラーホイール。赤は0、緑は120、青は240です。

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×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

Optional.

  • true (default) — Allow background tasks to run while waiting to render.
  • false — Do not allow background tasks to run while waiting to render.

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