画面#

導入#

スクリーンブロックはV5ブレインのタッチスクリーンを制御し、ロボットがテキスト、数字、グラフィックを表示したり、タッチ入力に反応したりできるようにします。

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

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

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

利用可能なブロックの一覧は以下のとおりです。

カーソル印刷 – テキストを表示し、印刷カーソルを管理します。

設定 – テキストとグラフィックの表示形式を変更します。

描画 – Brain画面上で図形、線、グラフィックを作成します。

タッチ – 脳の画面上のタッチ入力を検出します。

  • 画面が押されました – 画面が現在タッチされているかどうかを報告します。

  • 画面位置 – 最後に画面を押した位置の選択された x または y 座標を報告します。

  • when screen – 画面が押されたり離されたりしたときに、添付されているブロックを実行します。

カーソル印字#

画面上の行と列にカーソルを合わせる#

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

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

カーソルスタックブロックを設定する#
スクリーンのカーソルを行 [1] 列 [1] に設定

パラメータ

説明

行

カーソルを移動する行。

カラム

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

例

起動すると、カーソルを画面上の3行目、2列目に移動し、「3行目、2列目」と表示します。#
開始したとき
[Display text starting at Row 3 Column 12.]
スクリーンのカーソルを行 [3] 列 [12] に設定
[Row 3, Column 12] をスクリーンに表示 ▶

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

画面上のカーソルを次の行に設定する#

set cursor to next row on screen スタックブロックは、ブレイン画面の次の行の 1 列目にカーソルを移動します。

カーソルを次の行のスタックブロックに設定する#
スクリーンのカーソルを次の行へ移動

パラメータ

説明

このブロックにはパラメータがありません。

例

起動すると、画面に「Line 1」と表示し、カーソルを次の行に移動してから、「Line 2」と表示します。#
開始したとき
[Display two lines of text.]
[Line 1] をスクリーンに表示 ▶
スクリーンのカーソルを次の行へ移動
[Line 2] をスクリーンに表示 ▶

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

画面上の行をクリアする#

画面上の行をクリアスタックブロックは、ブレイン画面上のテキストの1行をクリアします。

行スタックブロックをクリアする#
スクリーンの行 [1] をクリア

パラメータ

説明

行

クリアする行番号。

例

起動すると、2行にテキストが印刷されます。1行目は表示されたままですが、2行目は3秒後に消えます。#
開始したとき
[Only keep the text on row 1.]
[This text stays] をスクリーンに表示 ▶
スクリーンのカーソルを次の行へ移動
[This text disappears] をスクリーンに表示 ▶
[3] 秒待つ
スクリーンの行 [2] をクリア

画面カーソル列#

画面カーソル列レポーターブロックは、テキストが印刷される列番号を整数として報告します。

スクリーンカーソル列レポーターブロック#
(スクリーンカーソル列)

パラメータ

説明

このブロックにはパラメータがありません。

例

起動すると、カーソルを画面上の3行目、2列目に移動し、現在のカーソル位置の列番号を表示します。#
開始したとき
[Display the cursor's current column.]
スクリーンのカーソルを行 [3] 列 [15] に設定
(スクリーンカーソル列) をスクリーンに表示 ▶

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

画面カーソル行#

画面カーソル行レポーターブロックは、テキストが印刷される行番号を整数として報告します。

スクリーンカーソル行レポーターブロック#
(スクリーンカーソル行)

パラメータ

説明

このブロックにはパラメータがありません。

例

起動すると、カーソルを画面上の6行目、2列目に移動し、現在のカーソルの行番号を表示します。#
開始したとき
[Display the cursor's current row.]
スクリーンのカーソルを行 [3] 列 [2] に設定
(スクリーンカーソル行) をスクリーンに表示 ▶

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

設定#

クリアスクリーン#

画面クリアスタックブロックは、ブレイン画面上のすべての描画とテキストをクリアします。

画面のスタックブロックをクリアする#
スクリーンをクリア

パラメータ

説明

このブロックにはパラメータがありません。

例

起動すると、中心座標(120,120)、半径40ピクセルの円を描画します。2秒後に画面がクリアされます。#
開始したとき
[Draw a circle, and clear it after 2 seconds.]
スクリーンに円 [120] [120] [40] を描画
[2] 秒待つ
スクリーンをクリア

画面にフォントを設定する#

画面フォント設定スタックブロックは、Brain画面にテキストを表示する際のフォントとサイズを設定します。このフォントは、以降に印刷されるすべてのテキストに適用されます。

フォントスタックブロックを設定する#
フォントを [等幅 v] [中 v] に設定(スクリーン)

パラメータ

説明

スタイル

フォントスタイル:等幅またはプロポーショナル

サイズ

フォントサイズ(以下の例):

  • 極小
  • 小
  • 中
  • 大
  • 特大
  • 超大
注: 極小と小サイズは、プロポーショナルフォントでは利用できません。

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

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

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

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

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

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

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

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

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

前の画像と同じ画像ですが、Prop 60フォントを使用しています。画面の幅いっぱいにANが1行で表示されています。下部には15列4行と表示されています。
比例超大

例

起動すると、フォントを「等幅特大」に設定し、画面に「VEX」と表示します。#
開始したとき
[Display text using a larger font]
フォントを [等幅 v] [特大 v] に設定(スクリーン)
[VEX] をスクリーンに表示 ▶

V5 Brain画面のスクリーンショット。左上隅にデフォルトよりも大きなフォントで「VEX」というテキストが表示されている。

画面上で印刷精度を設定する#

画面上の印刷精度を設定するスタックブロックは、Brain画面に数値を印刷する際に表示する小数点以下の桁数を設定します。この印刷精度は、以降に印刷されるすべての数値に適用されます。

印刷精度スタックブロックを設定する#
スクリーンの表示精度を [0.1 v] に設定

パラメータ

説明

精度

使用する印刷精度:

  • 1
  • 0.1
  • 0.01
  • 0.001
  • 全桁

例

起動時に、印刷精度を小数点以下2桁に設定し、画面上に1/3を0.33と表示します。#
開始したとき
[Print 1/3 as 0.33.]
スクリーンの表示精度を [0.01 v] に設定
([1] [math_division v] [3]) をスクリーンに表示 ▶

V5 Brain画面のスクリーンショット。左上隅に「0.33」というテキストが表示されています。

画面上でペンの幅を設定する#

画面上のペン幅を設定するスタックブロックは、描画される線と図形の輪郭の太さを設定します。

ペン幅スタックブロックを設定する#
スクリーンのペン幅を [10] に設定

パラメータ

説明

幅

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

例

起動時に、ペンの幅を10ピクセルに設定し、左上隅が(50,50)、幅130ピクセル、高さ60ピクセルの長方形を描画します。#
開始したとき
[Draw a rectangle with a pen width of 10.]
スクリーンのペン幅を [10] に設定
スクリーンに矩形 [50] [50] [130] [60] を描画

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

画面上のペン/フォントの色を設定する#

画面上のペン/フォントの色を設定するスタックブロックは、テキスト、ピクセル、線、および図形の輪郭の色を設定します。

ペン/フォントカラースタックブロックを設定#
スクリーンのペン/フォント色を [赤 v] に設定

パラメータ

説明

色

使用するペンとフォントの色:

  • 赤
  • 緑
  • 青
  • 黒
  • 白
  • 黄
  • オレンジ
  • 紫
  • シアン
  • 透明

例

起動時に、ペンの色をオレンジ色に設定し、左上隅が(50, 50)、幅130ピクセル、高さ60ピクセルの長方形を描画します。#
開始したとき
[Draw a rectangle with orange borders.]
スクリーンのペン/フォント色を [オレンジ v] に設定
スクリーンに矩形 [50] [50] [130] [60] を描画

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

画面の塗りつぶし色を設定する#

画面上の塗りつぶし色を設定するスタックブロックは、図形を描画する際に使用される塗りつぶし色を設定します。

塗りつぶしの色を設定するスタックブロック#
スクリーンの塗りつぶし色を [赤 v] に設定

パラメータ

説明

色

使用する塗りつぶしの色:

  • 赤
  • 緑
  • 青
  • 黒
  • 白
  • 黄
  • オレンジ
  • 紫
  • シアン
  • 透明

例

起動すると、塗りつぶしの色を紫色に設定し、長方形を描画します。長方形の位置は(50, 130)で、幅は100ピクセル、高さは60ピクセルです。#
開始したとき
[Draw a purple rectangle.]
スクリーンの塗りつぶし色を [紫 v] に設定
スクリーンに矩形 [50] [130] [100] [60] を描画

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

描く#

画面上にピクセルを描画する#

画面上にピクセルを描画スタックブロックは、現在のペンカラーを使用して、選択されたx座標とy座標に1ピクセルを描画します。

ピクセルスタックブロックを描画する#
スクリーンにピクセル [0] [0] を描画

パラメータ

説明

x

ピクセルを描画するためのx座標は0から479までです。

y

ピクセルを描画するためのy座標(0~239)。

例

起動時に、小さな正方形の四隅を示す4つのピクセルを描画します。#
開始したとき
[Draw the pixels marking the corners of a square.]
スクリーンにピクセル [250] [100] を描画
スクリーンにピクセル [275] [100] を描画
スクリーンにピクセル [250] [125] を描画
スクリーンにピクセル [275] [125] を描画

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

画面上に線を引く#

画面上に線を描画スタックブロックは、現在のペン幅とペン色を使用して、最初の画面座標(x1, y1)から2番目の画面座標(x2, y2)まで線を描画します。

線を描画するスタックブロック#
スクリーンに直線 [0] [0] [10] [10] を描画

パラメータ

説明

x1

0から479までの線分の始点のx座標(ピクセル単位)。

y1

0から239までの線分の始点のy座標(ピクセル単位)。

x2

0から479までの線分の終点のx座標(ピクセル単位)。

y2

0から239までの線分の終点のy座標(ピクセル単位)。

例

起動すると、画面の左上隅(0, 0)から右下隅(479, 239)まで対角線を描画します。#
開始したとき
[Draw a line from the top left to bottom right of the screen.]
スクリーンに直線 [0] [0] [479] [239] を描画

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

画面上に長方形を描く#

画面上に長方形を描画スタックブロックは、現在のペン幅、ペン色、塗りつぶし色を使用して長方形を描画します。

長方形のスタックブロックを描画する#
スクリーンに矩形 [0] [0] [10] [10] を描画

パラメータ

説明

x

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

y

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

幅

長方形の幅(ピクセル単位)。

身長

長方形の高さ(ピクセル単位)。

例

起動時に、画面上に左上隅が(50,50)、幅130ピクセル、高さ60ピクセルの長方形を描画します。#
開始したとき
[Draw a rectangle on the screen.]
スクリーンに矩形 [50] [50] [130] [60] を描画

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

画面上に円を描く#

画面上に円を描画スタックブロックは、現在のペン幅、ペン色、塗りつぶし色を使用して円を描画します。

円を描く スタックブロック#
スクリーンに円 [0] [0] [10] を描画

パラメータ

説明

x

円の中心のx座標(ピクセル単位)は0から479までです。

y

円の中心のy座標(ピクセル単位)は0から239までです。

半径

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

例

起動すると、画面上に中心が(120, 120)で半径が40ピクセルの円を描画します。#
開始したとき
[Draw a circle on the screen.]
スクリーンに円 [120] [120] [40] を描画

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

触る#

画面が押されました#

screen pressed ブールブロックは、Brain のタッチスクリーンが現在押されているかどうかを報告します。

  • 正解 – 画面が押されています。

  • 誤り – 画面が押されていません。

スクリーンが押されたブールブロック#
<スクリーン押された?>

パラメータ

説明

このブロックにはパラメータがありません。

起動時に画面が押された後、画面の色が変更されます。#
開始したとき
[Change the screen's color after it's pressed.]
<スクリーン押された?> まで待つ
スクリーンの塗りつぶし色を [緑 v] に設定
スクリーンに矩形 [0] [0] [479] [239] を描画
画面が押されると、最初のメッセージが表示されます。その後、画面が離されるまでコードは待機し、再び画面が押された後にのみ、2番目のメッセージを表示します。#
開始したとき
[Display different messages after the screen is pressed.]
<スクリーン押された?> まで待つ
[First message!] をスクリーンに表示 ▶
スクリーンのカーソルを次の行へ移動
[Lift finger to press the screen again.]
<<スクリーン押された?> でない> まで待つ
<スクリーン押された?> まで待つ
[Second message!] をスクリーンに表示 ▶

画面位置#

画面位置レポーターブロックは、最後に画面が押された位置の座標を報告します。x座標は0(左)から479(右)まで、y座標は0(上)から239(下)までです。

画面位置レポーターブロック#
(スクリーンの [x v] 軸位置)

パラメータ

説明

軸

最後に画面が押された位置の座標を報告します。x – 水平位置、または y – 垂直位置

Brain画面が押されると、押された場所に円を描画します。#
開始したとき
[Display a circle where the screen is pressed.]
<スクリーン押された?> まで待つ
スクリーンの塗りつぶし色を [白 v] に設定
スクリーンに円 (スクリーンの [x v] 軸位置) (スクリーンの [y v] 軸位置) [20] を描画

画面#

when screenハットブロックは、ブレインスクリーンが押されたり離されたりしたときに、接続されているブロックのスタックを実行します。

スクリーンハットブロック#
Brain スクリーンが [押された v] されたとき :: hat events

パラメータ

説明

州

添付のブロックスタックを実行するタイミング:pressedは画面が押されたときに実行され、releasedは画面が離されたときに実行されます。

Brain画面が押されると、押された場所に円を描画します。#
Brain スクリーンが [押された v] されたとき :: hat events
[Color the screen with polka dots by pressing it repeatedly.]
スクリーンの塗りつぶし色を [赤 v] に設定
スクリーンに円 (スクリーンの [x v] 軸位置) (スクリーンの [y v] 軸位置) [20] を描画