コントローラ#
導入#
controller クラスは、IQ Brain に接続された VEX IQ コントローラーを表します。2 controller オブジェクトを使用すると、ジョイスティックの軸値にアクセスしたり、ボタンの状態を読み取ったり、ボタンまたはジョイスティックのコールバックを登録したり、コントローラーが接続されているかどうかを確認したりできます。
IQ(第2世代)ブレインは、IQ(第2世代)コントローラーまたはIQ(第1世代)コントローラーのどちらにも接続できます。IQ(第1世代)コントローラーには、青色のスマートラジオが搭載されている必要があります。
デバイスウィンドウで1つ以上のコントローラーが設定されている場合、VEXcode IQは RemoteControlCodeEnabledも提供します。このグローバル変数は、デバイスメニューで設定されたコントローラーアクションを有効または無効にします。
派生クラス#
controller クラスは、以下の派生クラスを提供します。
建設業者#
1 - プライマリコントローラタイプを使用してコントローラを作成します。通常、単一のコントローラが接続されている場合に使用されます。
controller();
2 - 指定されたコントローラータイプのコントローラーを作成します。2 つのコントローラーが接続されている場合に使用します。
controller( controllerType id );
利用可能な機能
controller();
controller(controllerType id);
パラメータ |
タイプ |
説明 |
|---|---|---|
|
|
オプション。作成するコントローラーの種類: |
注記
Only one primary controller and one partner controller can be created in a single project.
例
// Create the primary controller
controller Controller1 = controller();
// Create a partner controller
controller Controller2 = controller(partner);
破壊者#
コントローラー#
~controller destroys the controller object and releases associated resources.
利用可能な機能
~controller();
パラメータ#
パラメータ |
タイプ |
説明 |
|---|---|---|
|
|
作成中のコントローラーの種類:
|
注記#
Only one
primaryand onepartnercontroller may exist in a single project.
例#
// Create a controller instance
controller Controller = controller();
メンバーの機能#
controller クラスには、以下のメンバ関数が含まれています。
installed- コントローラーがブレインに接続されているかどうかを確認します。
インストール済み#
installed 、コントローラーがブレインに接続されているかどうかを返します。
利用可能な機能
bool installed();
パラメータ
この関数には引数がありません。
戻り値
ブール値を返します。
true- The controller is installed/connected.false- The controller is not installed/connected.
グローバル変数#
RemoteControlCodeEnabled#
RemoteControlCodeEnabled 、[デバイス] メニューで設定されたコントローラーアクションを有効または無効にします。コントローラーで設定されたアクションは、デフォルトで有効になっています。
Usage:
RemoteControlCodeEnabled = state;
価値 |
説明 |
|---|---|
|
コントローラーで設定されたアクションを有効にします。 |
|
コントローラーで設定されたアクションを無効にします。 |
true- Controller-configured actions are enabled.false- Controller-configured actions are disabled.
コントローラーで設定されたアクションは、デフォルトで有効になっています。
// Drive forward or backward using the left joystick
RemoteControlCodeEnabled = false;
while (true) {
if (Controller1.AxisA.position() > 0) {
Drivetrain.drive(forward);
}
else if (Controller1.AxisA.position() < 0) {
Drivetrain.drive(reverse);
}
// Press E Up to use controller configured actions again
else if (Controller1.ButtonEUp.pressing()) {
break;
}
else {
Drivetrain.stop();
}
wait(20, msec);
}
RemoteControlCodeEnabled = true;