ボタン#

導入#

button クラスは brain 基本クラスから派生しており、EXP Brain のボタンへのアクセスを提供し、ロボットがボタンが押されたときと離されたときを検出できるようにします。

アクセス#

button クラスは、3 つのボタン オブジェクトを提供します。各オブジェクトは button クラスのインスタンスであり、brain インスタンスを介してアクセスできます。

物体

使用例

説明

buttonCheck

Brain.buttonCheck.pressing()

チェックボタン

buttonLeft

Brain.buttonLeft.pressing()

左ボタン

buttonRight

Brain.buttonRight.pressing()

右ボタン

メンバーの機能#

button クラスには、以下のメンバ関数が含まれています。

  • pressing — 指定されたボタンが押されているかどうかを返します。

  • pressed — 指定されたボタンが押されたときに呼び出される関数を登録します。

  • released — 指定されたボタンが離されたときに呼び出される関数を登録します。

button メンバ関数を呼び出す前に、以下に示すように brain インスタンスを作成する必要があります。

// Create the EXP Brain
brain Brain = brain();

pressing#

特定の脳のボタンが現在押されているかどうかを返します。

Available Functions
bool pressing() const;

Parameters

この関数は引数を受け付けません。

Return Values

指定されたボタンが押されているかどうかを示すブール値を返します。

  • true — ボタンが押されています。

  • false — ボタンが押されていません。

Examples

この関数は、例えば次のような任意のボタンオブジェクトに対して呼び出すことができます。

  • Brain.buttonCheck
  • Brain.buttonLeft
  • Brain.buttonRight
// Turn right while the check button is pressed
while (true) {
    if (Brain.buttonCheck.pressing()) {
        Drivetrain.turn(right);
    } else {
        Drivetrain.stop();
    }
    wait(5, msec);
}

pressed#

特定の脳内ボタンが押されたときに実行されるコールバック関数を登録します。

Available Functions
void pressed( 
  void (* callback)(void) ) const;

Parameters

パラメータ

タイプ

説明

callback

void (*)(void)

指定されたボタンが押されたときに呼び出される関数。

Return Values

この関数は値を返しません。

Examples

この関数は、例えば次のような任意のブレインボタンオブジェクトに対して呼び出すことができます。

  • Brain.buttonCheck
  • Brain.buttonLeft
  • Brain.buttonRight

コールバック関数を定義します( int main()の外側)

// Drive forward when the right button is pressed
void driveForward() {
    Drivetrain.driveFor(forward, 100, mm);
}

コールバックを登録する int main()

int main() {
  /* vexcodeInit() is only required when using VEXcode.
  Remove vexcodeInit() if compiling in VS Code. */
  vexcodeInit();

  // Call driveForward when the right button is pressed
  Brain.buttonRight.pressed(driveForward);
}

released#

特定の脳内ボタンが離されたときに実行されるコールバック関数を登録します。

Available Functions
void released( 
  void (* callback)(void) ) const;

Parameters

パラメータ

タイプ

説明

callback

void (*)(void)

指定されたボタンが離されたときに呼び出される関数。

Return Values

この関数は値を返しません。

Examples

この関数は、例えば次のような任意のブレインボタンオブジェクトに対して呼び出すことができます。

  • Brain.buttonCheck
  • Brain.buttonLeft
  • Brain.buttonRight

コールバック関数を定義します( int main()の外側)

// Drive backward when the left button is released
void backUp() {
    Drivetrain.driveFor(reverse, 100, mm);
}

コールバックを登録する int main()

int main() {
  /* vexcodeInit() is only required when using VEXcode.
  Remove vexcodeInit() if compiling in VS Code. */
  vexcodeInit();

  // Call backUp when the left button is released
  Brain.buttonLeft.released(backUp);
}