イベントの使用#

Using Events

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

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

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

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

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

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

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

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

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

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

whenで始まるブロックはセンサーに取り付けられていることもあり、センサーの条件が満たされると、取り付けられたブロックが実行されます。例えば、when Brain screenやwhen Bumper Switchの帽子ブロックなどです。

脳のスクリーンハットブロックが作動するとき。#
Brain スクリーンが [押された v] されたとき :: hat events
バンパースイッチハットブロック。#
[BumperA v] が [押された v] されたとき :: hat events