イベントの使用#

Using Events

このチュートリアルでは、VEXcode IQ(第2世代)でイベントを使用する方法について説明します。チュートリアルを終える頃には、イベントをブロードキャストし、別のブロックスタックがそれに応答する方法がわかるようになります。

イベントを使用すると、ロジック - イベントカテゴリのブロックを使って、プロジェクト内の個別のブロックスタック間で通信を行うことができます。broadcastで始まる名前のブロックはイベントが発生したことを通知し、whenで始まる名前のブロックは、それに応じて接続されているブロックスタックを実行します。

プロジェクトにブロードキャストブロックまたはブロードキャストして待機ブロックを追加します。

ロジック - イベント ツールボックス カテゴリのスクリーンショット。ブロードキャスト ブロックとブロードキャストと待機ブロックがハイライト表示されています。

放送ブロックのドロップダウンを選択して、既存のイベントを選択するか、イベントを作成、名前変更、または削除します。

ブロードキャストブロックのドロップダウンメニューを開いた状態のスクリーンショット。my_eventオプションの他に、「新規イベント」、「イベント名の変更」、「my_eventイベントの削除」オプションが表示されています。

ワークスペースに「受信時」ブロックを追加し、そのドロップダウンリストを「ブロードキャスト」ブロックで使用したイベント名と一致するように設定します。次に、そのブロックの下にブロックを添付します。これらのブロックは、そのイベントがブロードキャストされるたびに実行されます。

ロジック - イベント ツールボックス カテゴリのスクリーンショット。「開始時」と「受信時」のブロックがハイライト表示されています。

「受信時」ブロックが「ブロードキャスト」ブロックで使用されるイベント名と一致すると、プロジェクトを実行することで両方のスタックが同時に実行されます。たとえば、ロボットは「ブレインチェック」ボタンが押されるまで回転し、その後、ロボットの走行を停止させるイベントをブロードキャストします。

起動すると、チェックボタンが押されるまで回転し、その後、受信されるとロボットを停止させるイベントをブロードキャストします。#
開始したとき
[右 v] へ旋回
<Brain の [チェック v] ボタン押された?> まで待つ
[my_event v] を送る
[my_event v] を受け取ったとき
走行停止

whenで始まるブロックは、他のデバイスカテゴリにも存在し、そのデバイスの条件が満たされるたびに、関連付けられたブロックを実行します。例えば、when Brain buttonやwhen Bumperブロックなどです。

脳ボタンハットブロックのとき。#
Brain の [◀ v] ボタンが [押された v] されたとき
バンパーハットブロックのとき。#
[Bumper1 v] が [押された v] されたとき