画面#
導入#
screen クラスは brain 基底クラスから派生しています。これは、V5 Brain がタッチスクリーン上にテキスト、数字、グラフィックを表示する方法、およびタッチ入力に応答する方法を制御します。
Brainへの印刷に使用されるフォントは、デフォルトでは等幅小で、12行48列です。
描画時のBrainの解像度は480×240ピクセルです。

アクセス#
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 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— 座標に 1 つのピクセルを描画します。drawLine— 2点間に線を描画します。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 Brainの画面に、テキスト、数字、またはブール値を表示します。
Available Functions1 — 文字列リテラルまたは読み取り専用の C スタイルの文字列を使用して、書式設定されたテキストを出力します。
void print( const char* format, ... );
Parameters2 — 変更可能な文字配列を使用して書式設定されたテキストを出力します。
void print( char* format, ... );
パラメータ |
タイプ |
説明 |
|---|---|---|
|
|
文字列リテラルまたは読み取り専用の C スタイルの文字列として提供されるフォーマット文字列 (例: |
|
|
変更可能な文字配列として提供されるフォーマット文字列。 |
|
書式文字列に挿入される1つ以上の追加値。カンマで区切られます。 |
この関数は値を返しません。
Notes出力は画面上の現在のカーソル位置 つまり から始まります。
printで印刷されるテキストは常に背景付きで印刷され、背景色は 現在の塗りつぶし色によって決定されます。フォーマット文字列を使用する場合、渡される値の数と型は、文字列内の フォーマット指定子 と一致する必要があります。
// 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#
ブレイン画面の次の行の先頭にカーソルを移動します。
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 Brain画面上の行からテキストを消去します。
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 );
パラメータ |
タイプ |
説明 |
|---|---|---|
|
|
クリアする行番号。行番号は |
|
|
Clears the row using a
|
|
|
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 Brain画面にテキストが印刷される行を返します。
Available Functionsint32_t row();
この関数は引数を受け付けません。
Return Valuesテキストが印刷される行を表す、 int32_t 整数値(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 のint32_t値を返します。
返される高 は、現在選択されているスクリーンフォントに依存します。
この関数は、画面に描画せずに文字列の長さを測定します。
返される高さは、文字列が印刷されたときにどのように表示されるかを示しています。
getStringWidth#
V5 Brainの画面に表示されたときの文字列の幅をピクセル単位で返します。
Available Functionsint32_t getStringWidth(
const char* cstr );
パラメータ |
タイプ |
説明 |
|---|---|---|
|
|
計測対象のテキストは、Cスタイルの文字列として提供されます(例: |
Brain画面にレンダリングされた際の文字列の幅をピクセル単位で表す、 int32_t int32_t値を返します。
返される は、現在選択されているスクリーンフォントに依存します。
この関数は、画面に描画せずに文字列の長さを測定します。
返される幅は、文字列が印刷されたときにどのように表示されるかを示しています。
printAt#
V5 Brainの画面上の特定の座標に、テキスト、数字、またはブール値を印刷します。
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座標。 |
|
|
印刷されたテキストを不透明に描画するか透明に描画するかを制御します。
|
|
|
画面に表示される内容を制御する書式文字列(例: |
|
書式文字列に挿入される1つ以上の追加値。カンマで区切られます。 |
この関数は値を返しません。
Notesxおよびy座標は現在の画面原点に対する相対座標であり、setOriginを使用して変更できます。フォーマット文字列を使用する場合、渡される値の数と型は、文字列内の フォーマット指定子 と一致する必要があります。
// Print "Center" at the center of the screen
Brain.Screen.printAt(220, 120, "Center");

clearScreen#
Brain画面上のすべての描画とテキストを消去し、カーソル位置を1行目、1列目にリセットします。
Available Functions1 — 画面を黒くします。
void clearScreen();
2 — 定義済みまたは カスタムカラー オブジェクトを使用して画面をクリアします。
void clearScreen( const color& color );
3 — 16進数カラー値を使用して画面をクリアします。
void clearScreen( const char* color );
Parameters4 — 色相値を使用して画面をクリアします。
void clearScreen( int hue );
パラメータ |
タイプ |
説明 |
|---|---|---|
|
|
Clears the screen using a
|
|
|
文字列として表される 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 Brainの画面に表示されるテキストに使用するフォントを設定します。
これは、print などのスクリーンテキスト関数を使用する際に、後続のテキスト出力に適用されるフォントを制御します。
void setFont(
fontType font );
パラメータ |
タイプ |
説明 |
|---|---|---|
|
|
フォントを次のいずれかに設定します:
|
|
|
|
|---|---|---|
|
|
|
|
|
|
|
|
この関数は値を返しません。
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 );
パラメータ |
タイプ |
説明 |
|---|---|---|
|
|
Sets the pen color using a
|
|
|
文字列として表される 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 );
パラメータ |
タイプ |
説明 |
|---|---|---|
|
|
Sets the fill color using a
|
|
|
文字列として表される 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 Brainの画面上に1ピクセルを描画します。
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 Brainの画面上の2点を結ぶ直線を描画します。
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 Brainの画面上に、指定された位置とサイズの長方形を描画します。
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までの整数で指定します。 |
|
|
Fills the rectangle using a
|
|
|
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 Brainの画面上に、指定された位置と半径で円を描画します。
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ピクセルの整数で指定します。 |
|
|
Fills the circle using a
|
|
|
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×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 );
パラメータ |
タイプ |
説明 |
|---|---|---|
|
|
|
|
|
Optional.
|
バッファに保存された描画が画面に正常にレンダリングされたかどうかを示すブール値を返します。
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 Brainの画面が現在押されているかどうかを報告します。
Available Functionsbool pressing();
この関数は引数を受け付けません。
Return Values画面の現在の押下状態を示すブール値を返します。0true : 現在画面が押されています。または、 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 Brain画面上で最後に押された位置のy座標を返します。
Available Functionsint32_t yPosition();
この関数は引数を受け付けません。
Return Values最後に画面が押された位置のy座標(ピクセル単位、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 Brainの画面が押されたときに呼び出される関数を登録します。
Available Functions1 — 画面が押されたときに関数を呼び出します。
void pressed( void (*callback)(void) );
Parameters2 — 画面が押されたときに関数を呼び出し、ユーザー定義の引数をコールバック関数に渡します。
void pressed( void (*callback)(void*), void* arg );
パラメータ |
タイプ |
説明 |
|---|---|---|
|
|
画面が押されたときに呼び出される関数。 |
|
|
画面が押されたときに呼び出され、ユーザー定義の引数を受け取る関数。 |
|
|
画面が押されたときにコールバック関数に渡される、ユーザー定義の値。 |
この関数は値を返しません。
Notesコールバック関数は、ブレイン画面が押されるたびに実行されます。
一度に登録できるコールバック関数は1つだけです
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 Brainの画面が押された後に離されたときに呼び出される関数を登録します。
Available Functions1 — 画面が押された後に離されたときに関数を呼び出します。
void released( void (*callback)(void) );
Parameters2 — 画面が押された後に離されたときに関数を呼び出し、ユーザー定義の引数をコールバック関数に渡します。
void released( void (*callback)(void*), void* arg );
パラメータ |
タイプ |
説明 |
|---|---|---|
|
|
画面が押された後、指が離されたときに呼び出される関数。 |
|
|
画面が押された後に離されたときに呼び出され、ユーザー定義の引数を受け取る関数。 |
|
|
画面が押された後に離されたときにコールバック関数に渡される、ユーザー定義の値。 |
この関数は値を返しません。
Notesコールバック関数は、ブレイン画面が押された後に離されるたびに実行されます。
一度に登録できるコールバック関数は1つだけです
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); } }










