画面#

導入#

スクリーンブロックはVEX AIRドローンコントローラーの画面を制御し、コントローラーにテキスト、数字、グラフィック、画像を表示したり、タッチ入力に反応させたりできるようにします。

注: VEX AIRドローンがコントローラーとペアリングされている場合、プリント画面の上部に現在のプロジェクトの経過時間を示すタイマーが表示されます。テキストや図面はタイマーの背後に表示されます。

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

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

XYプリント - ピクセル座標に基づいてテキストを印刷します。

  • 画面上の座標に印刷 — テキスト、数値、または変数の値を、特定の x 座標と y 座標に印刷します。

  • set screen origin — 座標ベースの印刷および描画に使用される原点 (0, 0) を変更します。

設定 - テキスト、グラフィック、画面表示の外観を変更します。

描画 - グラフィックや視覚要素を作成する。

タッチ - 画面操作を検出します。

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

  • 画面位置 — 最後に画面が押されたときの x 座標または y 座標を報告します。

  • when screen event — 画面が押されたり離されたりしたときに実行されます。

カーソル印字#

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

set cursor to row column on screen スタックブロックは、カーソルをコントローラ画面上の特定の行と列に移動します。次の print on screen ブロックは、その位置から印刷を開始します。

画面に表示できる文字数は、選択したフォントによって異なります。デフォルトの等幅中フォントでは、最大18行53列までが鮮明に表示されます。この範囲を超えると、テキストが途切れたり、読みにくくなったりする場合があります。

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

パラメータ

説明

行

カーソルを移動する行。

カラム

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

例

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

VEX AIRドローンコントローラー画面のスクリーンショット。画面中央付近に「行7、列25」と書かれた白いテキストが表示されています。

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

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

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

パラメータ

説明

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

例

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

VEX AIRドローンコントローラー画面のスクリーンショット。左上隅に白い文字で、上段に「Line 1」、そのすぐ下に「Line 2」と表示されています。

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

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

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

パラメータ

説明

行

クリアする行番号。

例

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

画面カーソル列#

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

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

パラメータ

説明

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

例

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

VEX AIRドローンコントローラー画面のスクリーンショット。中央付近に白い文字で「25」と表示され、7行目、25列目の位置にあります。

画面カーソル行#

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

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

パラメータ

説明

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

例

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

VEX AIRドローンコントローラー画面のスクリーンショット。中央付近に白い文字で「7」と表示され、7行目、25列目の位置にあります。

XYプリント#

画面の原点を設定する#

set screen originスタックブロックは、コントローラ画面上での描画および座標ベースの印刷に使用される原点(0, 0)を設定します。デフォルトでは、原点は画面の左上隅です。このブロックを使用すると、原点を別の(x、y)画面座標位置にリセットできます。

画面の起点スタックブロックを設定します#
スクリーン原点を x: [0] y: [0] に設定

パラメータ

説明

x

新しい原点を設定するx座標(ピクセル単位)。

y

新しい原点を設定するy座標(ピクセル単位)。

例

起動時に、画面の原点を(320, 240)に設定し、新しい原点に左上隅が(0,0)、幅80ピクセル、高さ40ピクセルの長方形を描画します。#
開始したとき
[Set the origin to the center of the screen.]
スクリーン原点を x: [320] y: [240] に設定
[Draw a rectangle at the new origin.]
スクリーンに矩形 [0] [0] [80] [40] を描画

VEX AIRドローンコントローラー画面のスクリーンショット。左上隅が画面中央になるように白い長方形が描かれています。

設定#

クリアスクリーン#

画面クリアスタックブロックは、コントローラ画面上のすべての図面、テキスト、および画像をクリアします。

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

パラメータ

説明

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

例

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

画面がレンダリングされるまで待つ#

画面レンダリング待ちスタックブロックは、画面描画を後からレンダリングする動作に切り替えます。このブロックが実行されると、次の画面レンダリング待ちブロックが実行されるまで、後続の画面ブロックはコントローラ画面に表示されません。

注: テキスト、図形、または画像のグループを描画する前にこのブロックを使用し、その後、完全な更新を一度にレンダリングするために再度使用してください。

スクリーンのレンダリングを待つ

パラメータ

説明

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

例

起動すると、中心座標(120,120)、半径40ピクセルの円を描画します。2秒後に画面がクリアされます。#
開始したとき
[Display text and images when button 7 is pressed.]
スクリーンのレンダリングを待つ
[Screen rendered!] をスクリーンに表示 ▶
スクリーンに円 [320] [240] [80] を描画
<コントローラーボタン [7 v] 押された?> まで待つ
スクリーンのレンダリングを待つ

VEX AIRドローンコントローラーの画面のスクリーンショット。左上隅に「画面レンダリング完了!」という白いテキストが表示され、画面中央に白い円が描かれています。

画面全体#

画面を塗りつぶすスタックブロックは、コントローラ画面上のすべての描画、テキスト、および画像を消去し、背景を指定された色に変更します。

画面全体ブロック#
スクリーンを [赤 v] で塗りつぶす

パラメータ

説明

色

背景色を変更する色:

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

例

開始したとき
[Say "Hello" then turn screen green.]
[Hello] をスクリーンに表示 ▶
[2] 秒待つ
スクリーンを [緑 v] で塗りつぶす

VEX AIRドローンコントローラーの画面のスクリーンショット。画面の印刷可能な領域全体が鮮やかな緑色で塗りつぶされています。

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

画面フォント設定スタックブロックは、コントローラ画面にテキストを表示する際のフォントとサイズを設定します。このフォントは、このブロックの実行後に表示されるすべてのテキストに適用されます。

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

パラメータ

説明

タイプ

フォントの種類:等幅フォントまたはプロポーショナルフォント。

サイズ

フォントサイズ(下記参照):

  • 極小
  • 特小
  • 小
  • 中
  • 大
  • 特大
  • 超大

VEX AIRドローンコントローラー画面のスクリーンショット。左上隅にモノ12フォントで白の文字と数字が印刷されている。AZという文字は1行に並んでおり、画面幅の約3分の1を占めている。左下隅には、横91文字、行30と表示されている。
monospaced super small

前の画像と同じ画像ですが、今回は Mono 15 フォントを使用しています。文字 AZ は 1 行に表示され、画面幅のほぼ半分を占めています。左下隅には、横 71 文字、行 23 と表示されています。
monospaced extra small

前の画像と同じ画像ですが、今回は Mono 20 フォントを使用しています。文字 AZ は 1 行に表示され、画面の幅の半分を占めています。左下隅には、横 53 文字、行 18 と表示されています。
monospaced small

前の画像と同じ画像ですが、今回は Mono 24 フォントを使用しています。文字 AZ は 1 行に表示され、画面幅の半分強を占めています。左下隅には、横 45 文字、行 15 と表示されています。
monospaced medium

前の画像と同じ画像ですが、今回は Mono 30 フォントを使用しています。文字 AZ は 1 行に表示され、画面の幅の約 4分の 3 を占めています。左下隅には、横 35 文字、行 12 と表示されています。
monospaced large

前の画像と同じ画像ですが、今回は Mono 40 フォントを使用しています。文字 AZ は 1 行に表示され、画面の幅いっぱいに広がっています。左下隅には、横 26 文字、行 9 と表示されています。
monospaced extra large

前の画像と同じ画像ですが、今回は Mono 60 フォントを使用しています。文字 AQ は 1 行に並び、画面の幅いっぱいに表示されています。左下隅には、横 17 文字、行 6 行と表示されています。
monospaced super large

前の画像と同じ画像ですが、今回はProp 20フォントを使用しています。AZという文字が1行に並んでおり、画面幅の半分強を占めています。左下隅には、横49文字、18行と表示されています。
proportional small

前の画像と同じ画像ですが、今回はProp 24フォントを使用しています。AZという文字が1行に並んでおり、画面の幅の約3分の2を占めています。左下隅には、横42文字、15行と表示されています。
proportional medium

前の画像と同じ画像ですが、今回はProp 30フォントを使用しています。AZの文字が1行に並び、画面幅の4分の3を占めています。左下隅には、横33文字、行12と表示されています。
proportional large

前の画像と同じ画像ですが、今回はProp 40フォントを使用しています。AYという文字が1行に並び、画面の幅いっぱいに表示されています。左下隅には、横24文字、9行と表示されています。
proportional extra large

前の画像と同じ画像ですが、今回はProp 60フォントを使用しています。文字AQは1行に並び、画面の幅いっぱいに表示されています。左下隅には、横17文字、6行と表示されています。
proportional super large

例

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

前の画像と同じ画像ですが、左上隅に「VEX is Mono 40 font」と書かれた白いテキストが追加されています。

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

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

印刷精度スタックブロックを設定する#
スクリーンの表示精度を [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]) をスクリーンに表示 ▶

VEX AIRドローンコントローラーの画面のスクリーンショット。左上隅に白い文字で「0.33」と表示されている。

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

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

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

パラメータ

説明

幅

ペンの幅(ピクセル単位)。

例

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

VEX AIRドローンコントローラーの画面のスクリーンショット。中央に太い枠線のある白い長方形が印刷されています。

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

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

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

例

パラメータ

説明

色

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

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

起動時に、ペンの色を赤に設定し、左上隅が(50, 50)、幅130ピクセル、高さ60ピクセルの長方形を描画します。#
開始したとき
[Draw a rectangle with an orange outline.]
スクリーンのペン/フォント色を [オレンジ v] に設定
スクリーンに矩形 [200] [150] [240] [150] を描画
スクリーンのペン/フォント色を [白 v] に設定
x:[250] y:[220] の位置に [VEXcode AIR] をスクリーンに表示

VEX AIRドローンコントローラーの画面のスクリーンショット。中央に白い文字で「VEXcode AIR」と書かれた細いオレンジ色の長方形が表示されている。

画面上のテキストの塗りつぶし色を設定する#

画面上のテキストの塗りつぶし色を設定するスタックブロックは、印刷されるテキストの背景色を設定します。デフォルトのテキストの塗りつぶし色は透明です。

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

パラメータ

説明

色

使用するテキストの塗りつぶし色:

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

例

起動時に、塗りつぶしの色をオレンジ色に設定し、2つの長方形を描画します。1つ目は(50, 50)、2つ目は(50, 130)の位置にあり、どちらも幅100ピクセル、高さ60ピクセルです。#
開始したとき :: hat events
[Display two colors behind text.]
スクリーンのテキスト塗りつぶし色を [赤 v] に設定
["Red"] をスクリーンに表示 ▶
スクリーンのカーソルを次の行へ移動
スクリーンのテキスト塗りつぶし色を [青 v] に設定
["Blue"] をスクリーンに表示 ▶

画面に塗りつぶしの色を描画する#

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

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

パラメータ

説明

色

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

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

例

起動時に、塗りつぶしの色をオレンジ色に設定し、2つの長方形を描画します。1つ目は(50, 50)、2つ目は(50, 130)の位置にあり、どちらも幅100ピクセル、高さ60ピクセルです。#
開始したとき
[Draw an orange-filled rectangle with text on top.]
スクリーンの描画塗りつぶし色を [オレンジ v] に設定
スクリーンに矩形 [200] [150] [240] [150] を描画
x:[250] y:[220] の位置に [VEXcode AIR] をスクリーンに表示

VEX AIRドローンコントローラーの画面のスクリーンショット。オレンジ色の長方形の中に細い白い枠があり、中央に白い文字で「VEXcode AIR」と印刷されています。

描く#

画面に画像ファイルを表示する#

画面に画像ファイルを表示スタックブロックは、原点を設定のコントローラ画面にユーザーがアップロードしたカスタム画像を描画します。

ユーザーイメージスタックブロックを表示する#
画像ファイル [IMAGE1 v] を表示

パラメータ

説明

画像番号

ユーザーがアップロードした画像を使用します。コントロールパネルで画像名を編集すると、オプションも変更されます。

例

やること#
開始したとき
[Display custom image on screen.]
画像ファイル [IMAGE1 v] を表示

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

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

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

パラメータ

説明

x

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

y

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

例

開始時に、画面中央の座標(120, 120)にピクセルを描画します。#
開始したとき
[Draw five pixels in a diagonal.]
スクリーンにピクセル [360] [200] を描画
スクリーンにピクセル [340] [220] を描画
スクリーンにピクセル [320] [240] を描画
スクリーンにピクセル [300] [260] を描画
スクリーンにピクセル [280] [280] を描画

VEX AIRドローンコントローラーの画面のスクリーンショット。画面中央に5つの等間隔のピクセルが斜めに並んでいます。

画面上に線を引く#

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

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

パラメータ

説明

x1

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

y1

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

x2

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

y2

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

例

起動すると、画面の左上隅(0,0)から右下隅(240,240)まで対角線を描画します。#
開始したとき
[Make an X across the screen.]
スクリーンに直線 [0] [0] [640] [480] を描画
スクリーンのペン/フォント色を [シアン v] に設定
スクリーンに直線 [0] [480] [640] [0] を描画

VEX AIRドローンコントローラーの画面のスクリーンショット。左上から右下隅に向かって白い線が引かれ、左下隅から右上隅に向かって青緑色の線が引かれ、中央で交差している。

画面上に長方形を描く#

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

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

例

パラメータ

説明

x

長方形の左上隅のx座標(ピクセル単位)を0から640までの値で示します。

y

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

幅

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

身長

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

起動時に、画面上に左上隅が(50,50)、幅130ピクセル、高さ60ピクセルの長方形を描画します。#
開始したとき
[Draw two rectangles on the screen.]
スクリーンに矩形 [0] [0] [620] [460] を描画
スクリーンの描画塗りつぶし色を [緑 v] に設定
スクリーンに矩形 [200] [180] [200] [100] を描画

VEX AIRドローンコントローラーの画面のスクリーンショット。中央に細い白い枠線のある緑色の長方形が印刷され、画面の外周にも細い白い長方形が印刷されています。

画面上に円を描く#

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

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

パラメータ

説明

x

円の中心のx座標(ピクセル単位)は0から640までの値をとります。

y

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

半径

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

例

起動すると、画面上に中心が(120,120)で半径が40ピクセルの円を描画します。#
開始したとき
[Draw one green circle on the screen.]
スクリーンの描画塗りつぶし色を [緑 v] に設定
スクリーンに円 [320] [240] [200] を描画

VEX AIRドローンコントローラーの画面のスクリーンショット。画面中央に細い白い枠線のある大きな緑色の円が描かれています。

触る#

画面が押されました#

screen pressed ブール値ブロックは、コントローラーの画面が現在押されているかどうかを報告します。

  • 正解 - 現在画面が押されています

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

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

パラメータ

説明

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

例

開始したとき
[Play a sound when the screen is pressed.]
ずっと
もし <スクリーン押された?> なら
音符 [ロー v] [C v] [note_eight v] を再生 ▶
画面が押されると、最初のメッセージが表示されます。その後、画面が離されるまでコードは待機し、再び画面が押された後にのみ、2番目のメッセージを表示します。#
開始したとき
[Display different messages after the screen is pressed.]
<スクリーン押された?> まで待つ
[First message!] をスクリーンに表示 ▶
スクリーンのカーソルを次の行へ移動
[Lift finger to press the screen again.]
<<スクリーン押された?> でない> まで待つ
<スクリーン押された?> まで待つ
[Second message!] をスクリーンに表示 ▶

画面位置#

画面位置レポーターブロックは、画面が最後に押された位置のx座標またはy座標(ピクセル単位)を報告します。x座標の戻り値は0(左)から640(右)の間です。y座標の戻り値は0(上)から480(下)の間です。

画面の印刷可能領域の寸法がラベル付けされ、赤い枠で囲まれたVEX AIRドローンコントローラー。座標は左上隅の(0,0)から始まり、時計回りに(0, 640)、(480, 640)、(480,0)と進み、左下隅に至ります。画面の中心座標は(240, 320)とラベル付けされています。

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

パラメータ

説明

座標

最後に画面が押された位置の座標(ピクセル単位):xは水平位置、yは垂直位置を示します。

例

起動すると、画面のタッチを継続的に監視します。タッチされた場合は、画面をクリアし、タッチ位置のx座標とy座標を表示します。#
開始したとき
[Play high or low note based on where screen is pressed.]
ずっと
もし <スクリーン押された?> なら
もし <(スクリーンの [x v] 軸位置) [math_greater_than v] [320]> なら
音符 [ハイ v] [C v] [note_eight v] を再生 ▶
でなければ
音符 [ロー v] [C v] [note_eight v] を再生 ▶

画面イベント発生時#

when screen eventハットブロックは、コントローラーの画面が押されたり離されたりしたときに実行されます。

画面イベントハットブロック#
スクリーンが [押された v] されたとき

パラメータ

説明

アクション

添付されたブロックのスタックがいつ実行されるかを決定します。pressed は画面が押されたときに実行され、released は画面が離されたときに実行されます。

例

スクリーンが [押された v] されたとき
[Play a sound when the screen is pressed.]
音 [成功 v] を再生 ▶