画面#

導入#

スクリーンメソッドは、V5 Brainがタッチスクリーン上にテキスト、数字、グラフィックを表示する方法、およびタッチ入力に反応する方法を制御します。

Brainへの印刷に使用されるフォントは、デフォルトでは等幅小で、12行48列です。

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

V5 Brainの画面には、合計12行48列のレイアウトを示す赤いグリッド線が表示されています。ピクセルサイズは幅479、高さ239です。左上隅は(0,0)ピクセル、1行目、1列目から始まり、右下隅は(479, 239)ピクセル、12行目、48列目で終わります。

以下にすべてのメソッドの一覧を示します。

カーソル印刷 — テキストを配置して印刷します。

  • print — 現在のカーソル位置にテキスト、数値、または変数値を出力します。

  • set_cursor — カーソルを特定の行と列に移動します。

  • next_row — カーソルを次の行の 1 列目に移動します。

  • clear_row — テキストの行をクリアします。

  • row — テキストが印刷される行を返します。

  • column — テキストが印刷される列を返します。

  • print_at — テキスト、数値、または変数の値を特定の x 座標と y 座標に出力します。

  • get_string_width — 現在のフォントを使用して文字列の幅をピクセル単位で返します。

  • get_string_height — 現在のフォントを使用して文字列の高さをピクセル単位で返します。

  • clear_line — テキストの行をクリアします。

  • new_line — カーソルを新しい行に移動します。

ミューテーター — 画面設定、色、描画動作を変更します。

  • clear_screen — 画面上のすべての描画とテキストを消去します。

  • set_font — 印刷テキストのフォントを設定します。

  • set_pen_width — 描画された線と図形の輪郭の太さを設定します。

  • set_pen_color — テキスト、ピクセル、線、図形の輪郭の色を設定します。

  • set_fill_color — 描画された図形と印刷されたテキストの背景の塗りつぶしの色を設定します。

  • set_origin — 座標ベースの印刷と描画に使用される原点を設定します。

描画 — 画面にグラフィックを追加します。

  • draw_pixel — 座標に 1 つのピクセルを描画します。

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

  • draw_rectangle — 長方形を描画します。

  • draw_circle — 円を描画します。

  • render — 呼び出された時のみ、テキストと描画でブレインの画面を更新します。

  • set_clip_region — 描画とテキストが表示される場所を制限します。

ゲッター — タッチ状態とタッチ位置を確認します。

  • pressing — 画面が押されているかどうかを返します。

  • x_position — 最後に画面が押されたときの x 座標を返します。

  • y_position — 最後に画面が押されたときの y 座標を返します。

コールバック — 画面上のタッチイベントに応答します。

  • pressed — 画面が押されたときに呼び出される関数を登録します。

  • released — 画面が解放されたときに呼び出される関数を登録します。

screen メソッドにアクセスするための Brain の構築に関する情報については、Brain を参照してください。

カーソル印字#

print#

print は、現在のカーソル位置とフォントで、テキスト、数値、または変数値を Brain 画面に表示します。

使用法:

brain.screen.print(text, sep, precision)

パラメータ

説明

text

印刷するテキスト、数値、または変数値。

sep

オプション。値の間に挿入する文字列。これはキーワード引数 (sep=) として記述する必要があります。デフォルトは “”です。

precision

オプション。単純な数値を表示する際に表示する小数点以下の桁数。これはキーワード引数として記述する必要があります(precision=)。デフォルト値は 2 です。

# Print on the Brain's screen
brain.screen.print("Hello, Robot!")

V5 Brainのスクリーンショット。画面左上隅に白い文字で「Hello Robot」と表示されている。

set_cursor#

set_cursor は、Brain 画面上の特定の行と列にカーソルを移動します。次の print 呼び出しは、その位置から印刷を開始します。快適に表示できる行数と列数は、選択したフォントによって異なります。デフォルトの等幅中フォントでは、最大 8 行と 13 列がはっきりと表示されます。この範囲を超えて配置されたテキストは、途中で切れたり、読みにくくなったりする可能性があります。

等幅フォントは文字の幅がすべて同じなので、テキストの配置が一定になります。一方、プロポーショナルフォントは文字の幅が異なるため、文字によって占めるスペースが異なります。ただし、どちらのタイプを使用する場合でも、 set_cursor フォントスタイルではなく、行と列のサイズに基づいてカーソルを配置します。フォントサイズは set_font を使用して調整できます。

使用法:

brain.screen.set_cursor(row, column)

パラメータ

説明

row

カーソルを移動する行。

column

カーソルを移動させる列。

# Display text starting at Row 3 Column 12
brain.screen.set_cursor(3, 12)
brain.screen.print("Row 3, Column 12")

画面中央付近の上部に、その位置に3行目12列目が印刷されているV5 Brainのスクリーンショット。

next_row#

next_row はカーソルを次の行に移動します。

使用法:

brain.screen.next_row()

パラメータ

説明

このメソッドにはパラメータがありません。

# Print two lines of text on the Brain's screen
brain.screen.print("Line 1")
brain.screen.next_row()
brain.screen.print("Line 2")

V5 Brain画面のスクリーンショット。左上隅に白いテキストが2行表示されています。上の行は「Line 1」、そのすぐ下の2行目は「Line 2」と表示されています。

clear_row#

clear_row は、Brain 画面上のテキストの 1 行を消去します。

使用法:

brain.screen.clear_row(row, color)

パラメータ

説明

row

オプション。クリアする行を指定します。デフォルトは現在のカーソル行です。

color

オプション。有効な color、16 進数値、またはウェブ文字列。

# Only keep the text on row 1
brain.screen.print("This text stays")
brain.screen.next_row
brain.screen.print("This text disappears")
wait(3, SECONDS)

brain.screen.clear_row()

row#

row は、テキストが整数として印刷される行を返します。

使用法:

brain.screen.row()

パラメータ

説明

このメソッドにはパラメータがありません。

# Display the cursor's current row
brain.screen.set_cursor(3, 2)
brain.screen.print(brain.screen.row())

V5 Brain画面のスクリーンショット。画面左上の3行目2列目に白い文字「3」が表示されている。

column#

column は、テキストが整数として出力される列を返します。

使用法:

brain.screen.column()

パラメータ

説明

このメソッドにはパラメータがありません。

# Display the cursor's current column
brain.screen.set_cursor(3, 15)
brain.screen.print(brain.screen.column())

V5 Brain画面のスクリーンショット。画面左上の3行目15列目に白い文字「15」が表示されている。

get_string_width#

get_string_width は、現在の font を使用して、文字列の幅をピクセル単位で整数として返します。

Usage:
brain.screen.get_string_width(string)

パラメータ

説明

string

測定用の紐。

get_string_height#

get_string_height 、現在の font を使用して、文字列の高さをピクセル単位で整数として返します。

Usage:
brain.screen.get_string_height(string)

パラメータ

説明

string

測定用の紐。

clear_line#

clear_line は現在の行のテキストをクリアします。

Usage: brain.screen.clear_line()

パラメータ

説明

このメソッドにはパラメータがありません。

new_line#

new_line ブレイン画面の次の行の 1 列目にカーソルを移動します。

使用法:

brain.screen.new_line()

パラメータ

説明

このメソッドにはパラメータがありません。

変異誘発者#

clear_screen#

clear_screen は、ブレイン画面上のすべての描画とテキストを消去します。

使用法:

brain.screen.clear_screen(color)

パラメータ

説明

color

オプション。有効なカラーオプション:

  • Color.RED
  • Color.GREEN
  • Color.BLUE
  • Color.YELLOW
  • Color.ORANGE
  • Color.PURPLE
  • Color.CYAN
  • Color.BLACK (デフォルト)
  • Color.WHITE

# Print VEXcode on the screen
brain.screen.print("VEXcode")
wait(2, SECONDS)
# Clear screen to black
brain.screen.clear_screen()

# Print VEXcode on the screen
brain.screen.print("VEXcode")

# Clear screen to blue using predefined color
brain.screen.clear_screen(Color.BLUE)

印刷可能領域全体が鮮やかな青色で表示されたV5 Brain画面のスクリーンショット。

set_font#

set_font は、Brain 画面にテキストを表示する際に使用するフォントを設定します。このフォントは、このメソッドの実行後に表示されるすべてのテキストに適用されます。

使用法:

brain.screen.set_font(font)

パラメータ

説明

font

以下に有効なフォントオプションを示します。

V5 Brain画面のスクリーンショット。左上隅にMONO 12フォントで白の数字と文字が印刷されている。画面幅の約4分の1にあたる1行にAZと表示されている。左下隅には80列20行と表示されている。
FontType.MONO12

前の画像と同じ画像ですが、フォントはMono 15です。画面のほぼ半分の幅にわたって、AZが1行に表示されています。左下隅には68列16行と表示されています。
FontType.MONO15

前の画像と同じ画像ですが、フォントはMono 20です。画面幅のほぼ3分の2にわたって、1行にAZが表示されています。左下隅には48列12行と表示されています。
FontType.MONO20

前の画像と同じ画像ですが、Mono 30フォントを使用しています。AZという文字が1行に表示され、画面のほぼ全幅にわたっています。左下隅には「32列8行」と表示されています。
FontType.MONO30

前の画像と同じ画像ですが、フォントはMono 40です。画面の幅いっぱいにAXが1行で表示されています。左下隅には24列6行と表示されています。
FontType.MONO40

前の画像と同じ画像ですが、Mono 60フォントを使用しています。画面の幅いっぱいに「AP」と1行で表示されています。下部には「16列4行」と表示されています。
FontType.MONO60

前の画像と同じ画像ですが、Prop 20フォントを使用しています。画面幅のほぼ3分の2にわたって、1行にAZが表示されています。左下隅には48列12行と表示されています。
FontType.PROP20

前の画像と同じ画像ですが、Prop 30フォントを使用しています。AZが1行に表示され、画面のほぼ幅に広がっています。左下隅には32列8行と表示されています。
FontType.PROP30

前の画像と同じ画像ですが、Prop 40フォントを使用しています。画面の幅いっぱいに「AU」と1行で表示されています。左下隅には「24列6行」と表示されています。
FontType.PROP40

前の画像と同じ画像ですが、Prop 60フォントを使用しています。画面の幅いっぱいに「AN」という文字が1行に表示されています。下部には「15列4行」と表示されています。
FontType.PROP60

# Set the font type to MONO40
brain.screen.set_font(FontType.MONO40)
brain.screen.print("VEX")

V5 Brain画面のスクリーンショットには、左上隅にデフォルトよりも大きなフォントで白字でVEXと表示されています。

set_pen_width#

set_pen_width は、描画される線と図形の輪郭の太さを設定します。

使用法:

brain.screen.set_pen_width(value)

パラメータ

説明

value

ペンの幅(ピクセル単位)。0~32の範囲で指定します。

# Draw a rectangle with a pen width of 10
brain.screen.set_pen_width(10)
brain.screen.draw_rectangle(50, 50, 130, 60)

画面左上象限に太い枠線で囲まれた長方形が印刷されているV5 Brain画面のスクリーンショット。

set_pen_color#

set_pen_color は、テキスト、ピクセル、線、および図形の輪郭の色を設定します。

使用法:

brain.screen.set_pen_color(color)

パラメータ

説明

color

The pen and font color to use. Options include:

  • Color.RED
  • Color.GREEN
  • Color.BLUE
  • Color.YELLOW
  • Color.ORANGE
  • Color.PURPLE
  • Color.CYAN
  • Color.TRANSPARENT
  • Color.WHITE
You can also specify a custom color.

# Draw a rectangle with orange borders
brain.screen.set_pen_color(Color.ORANGE)
brain.screen.draw_rectangle(50, 50, 130, 60)

画面左上象限にオレンジ色の長方形が描かれたV5 Brain画面のスクリーンショット。

set_fill_color#

set_fill_color は、図形を描画する際に使用される塗りつぶしの色を設定します。

使用法:

brain.screen.set_fill_color(color)

パラメータ

説明

color

The fill color to use. Options include:

  • Color.RED
  • Color.GREEN
  • Color.BLUE
  • Color.YELLOW
  • Color.ORANGE
  • Color.PURPLE
  • Color.CYAN
  • Color.TRANSPARENT
  • Color.WHITE
You can also specify a custom color.

# Draw a purple rectangle
brain.screen.set_fill_color(Color.PURPLE)
brain.screen.draw_rectangle(50, 130, 100, 60)

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

set_origin#

set_origin は、Brain画面上での描画および座標ベースの印刷に使用される原点を設定します。デフォルトでは、原点は画面の左上隅です。

使用法:

brain.screen.set_origin(x, y)

パラメータ

説明

x

原点として設定するx座標(0~479)。

y

原点として設定するy座標(0~239)。

描く#

draw_pixel#

draw_pixel 、現在のペンカラーを使用して、選択した x 座標と y 座標に 1 つのピクセルを描画します。

使用法:

brain.screen.draw_pixel(x, y)

パラメータ

説明

x

ピクセルを描画するためのx座標。0から479までの範囲で、画面の原点を基準とします。

y

ピクセルを描画するためのy座標。0から239までの範囲で、画面の原点を基準とします。

# Draw the pixels marking the corners of a square
brain.screen.draw_pixel(250, 100)
brain.screen.draw_pixel(275, 100)
brain.screen.draw_pixel(250, 125)
brain.screen.draw_pixel(275, 125)

画面中央付近の正方形の角を示すピクセル群が表示されたV5 Brain画面のスクリーンショット。

draw_line#

draw_line は、現在のペンの太さとペンの色を使用して、最初の画面座標から2番目の画面座標まで線を描画します。

使用法:

brain.screen.draw_line(start_x, start_y, end_x, end_y)

パラメータ

説明

start_x

画面原点を基準とした、線の始点のx座標(ピクセル単位)。範囲は0~479。

start_y

画面原点を基準とした、線の始点のy座標(ピクセル単位)。範囲は0~239。

end_x

画面原点を基準とした、線の終点のx座標(ピクセル単位)。範囲は0~479。

end_y

画面原点を基準とした、線の終点のy座標(ピクセル単位)。範囲は0~239。

# Draw a line from the top left to bottom right of the screen
brain.screen.draw_line(0, 0, 479, 239)

V5 Brainの画面のスクリーンショットには、左上隅から右下隅まで中央を横切る細い斜めの線が写っています。

draw_rectangle#

draw_rectangle は、オプションの color パラメータが使用されない限り、現在のペン幅、ペン色、塗りつぶし色を使用して長方形を描画します。

使用法:

brain.screen.draw_rectangle(x, y, width, height, color)

パラメータ

説明

x

長方形の左上隅のx座標(ピクセル単位)は0から479までの値をとります。

y

長方形の左上隅のy座標(ピクセル単位)は0から239までの値をとります。

width

長方形の幅。

height

長方形の高さ。

color

オプション。有効なカラーオプション:

  • Color.RED
  • Color.GREEN
  • Color.BLUE
  • Color.YELLOW
  • Color.ORANGE
  • Color.PURPLE
  • Color.CYAN
  • Color.TRANSPARENT
  • Color.WHITE
カスタムカラー を指定することもできます。

# Draw a rectangle on the screen
brain.screen.draw_rectangle(50, 50, 130, 60)

V5 Brainの画面のスクリーンショットには、左上象限に細い白い枠線のある長方形が印刷されている。

draw_circle#

draw_circle は、オプションの color パラメータが使用されない限り、現在のペンの太さ、ペンの色、塗りつぶしの色を使用して円を描画します。

使用法:

brain.screen.draw_circle(x, y, radius, color)

パラメータ

説明

x

円の中心のx座標(ピクセル単位)。0から479までの範囲で、画面の原点を基準としています。

y

円の中心のy座標(ピクセル単位)。値は0から239までで、画面の原点を基準としています。

radius

円の半径(ピクセル単位)。

color

Optional. The fill color to use. Options include:

  • Color.RED
  • Color.GREEN
  • Color.BLUE
  • Color.YELLOW
  • Color.ORANGE
  • Color.PURPLE
  • Color.CYAN
  • Color.TRANSPARENT
  • Color.WHITE
You can also specify a custom color.

# Draw a circle on the screen
brain.screen.draw_circle(120, 120, 40)

V5 Brainの画面のスクリーンショットには、中央に細い白い枠線が描かれた円が表示されています。

render#

render は、Brain の画面でダブルバッファリングを有効にします。一度呼び出されると、テキスト、図形、画像などの描画コマンドは、プロジェクトの残りの部分ではすぐに表示されなくなります。代わりに、更新は render 再度使用されたときにのみ表示されます。これにより、画面の更新がよりスムーズかつ制御しやすくなりますが、 render 使用されるまで何も表示されません。

使用法:

brain.screen.render()

パラメータ

説明

このメソッドにはパラメータがありません。

# Render text after moving
brain.screen.render()
brain.screen.print("Render later...")
drivetrain.drive_for(FORWARD, 100, MM)
drivetrain.turn_for(RIGHT, 90, DEGREES)
brain.screen.render()

set_clip_region#

set_clip_region は、画面上の矩形領域を定義し、そこにすべての描画とテキストが収まるようにします。この領域外のコンテンツは表示されません。

使用法:

brain.screen.set_clip_region(x, y, width, height)

パラメータ

説明

x

画面原点を基準とした、長方形の左上隅のx座標。

y

画面原点を基準とした、長方形の左上隅のy座標。

width

長方形の幅。

height

長方形の高さ。

# Restrict text and drawings to a specific region
brain.screen.set_clip_region(0, 0, 120, 120)
brain.screen.draw_rectangle(60, 60, 100, 100, Color.RED)
brain.screen.print_at("Cut off!", x=60, y=60)

画面左上の四分円に、クリップ領域内に印刷される内容を示す赤い四角形と、その真下に「Cut of」と書かれた白いテキストが表示されたV5 Brain画面のスクリーンショット。

触る#

pressing#

pressing 返され、脳画面が現在押されているかどうかを示すブール値が返されます。

  • True - 画面が押されています。

  • False - 画面が押されていません。

使用法:

brain.screen.pressing()

パラメータ

説明

このメソッドにはパラメータがありません。

# Change the screen's color after it's pressed
while not brain.screen.pressing():
    wait(5, MSEC)
brain.screen.set_fill_color(Color.GREEN)
brain.screen.draw_rectangle(0, 0, 479, 239)

# Display different messages after the screen is pressed
while not brain.screen.pressing():
    wait(5, MSEC)
brain.screen.print("First message!")
brain.screen.next_row()
# Lift finger to press the screen again
while brain.screen.pressing():
    wait(5, MSEC)
while not brain.screen.pressing():
    wait(5, MSEC)
brain.screen.print("Second message!")
brain.screen.next_row()

x_position#

x_position は、最後に画面が押されたときの x 座標を 0 (左) から 479 (右) までの整数として返します。

使用法:

brain.screen.x_position()

パラメータ

説明

このメソッドにはパラメータがありません。

# Display a circle where the screen is pressed
while not brain.screen.pressing():
    wait(5, MSEC)
brain.screen.set_fill_color(Color.WHITE)
brain.screen.draw_circle(brain.screen.x_position(), brain.screen.y_position(), 20)

y_position#

y_position は、最後に画面が押されたときの y 座標を 0 (上) から 239 (下) までの整数として返します。

使用法:

brain.screen.y_position()

パラメータ

説明

このメソッドにはパラメータがありません。

# Display a circle where the screen is pressed
while not brain.screen.pressing():
    wait(5, MSEC)
brain.screen.set_fill_color(Color.WHITE)
brain.screen.draw_circle(brain.screen.x_position(), brain.screen.y_position(), 20)

コールバック#

pressed#

pressed 押され、Brainのスクリーンが押されたときに呼び出される関数が登録されます。

使用法:

brain.screen.pressed(callback, arg)

パラメータ

説明

callback

Brain画面が押されたときに実行される、事前に定義された関数。

arg

Optional. A tuple containing arguments to pass to the callback function. See Using Functions with Parameters for more information.

def my_function():
  brain.screen.print("Screen pressed")

# Call my_function whenever the Brain screen is pressed
brain.screen.pressed(my_function)

released#

released 画面が離されたとき(タッチが解除されたとき)に呼び出される関数を登録します。

使用法:

brain.screen.released(callback, arg)

パラメータ

説明

callback

Brain画面が解放されたときに実行される、事前に定義された関数。

arg

Optional. A tuple containing arguments to pass to the callback function. See Using Functions with Parameters for more information.

def my_function():
  brain.screen.print("Screen released")

# Call my_function whenever the Brain screen is released
brain.screen.released(my_function)