NOBのArduino日記!

NOBのArduino日記!

趣味は車・バイク・自転車・ラジコン・電子工作です。

Arduino IDE(gb.buttons.pressed関数の使い方)

■gb.buttons.pressed関数
 Gamebuimo.hライブラリのgb.buttons.pressed関数は、特定のボタンが押されたときを知るために使用される関数です。

■使用例
 gb.buttons.pressed関数を使ったArduinoIDEのプログラム例は図1の通りです。
このプログラムを実行するとsetup関数中のgb.begin関数でGamebuinoオブジェクトを初期化し、gb.titleScreen関数で画面に「Buttons example」と表示します。
 スタート画面でキーボードの「K」(GamebuinoのA)ボタンを押すと、以下①~④の項目が表示されます。
①AorBボタンを押すとgb.buttons.pressed関数によって「Pressed:AorB」と表示
②AorBボタンが押されているとgb.buttons.held関数によって「Held:AorB」と一回表示
③AorBボタンが押し続けているとgb.buttons.repeat関数によって「Repeat:AorB」と繰り返し表示
④AorBボタンを離すとgb.buttons.released関数によって「Released:AorB」と表示
 この動画ではAボタンを押し続けて離す、Bボタンを押し続けて離した時の状態です。
 参考に図1プログラムをHEXファイルに変換し、それをSimbuino4Webエミュレートした結果を図2に示します。

#include <SPI.h>
#include <Gamebuino.h>
Gamebuino gb;

void setup() {
   gb.begin();
   gb.titleScreen(F("Buttons example"));
   gb.setFrameRate(10); //lower the FPS to have time to see what happens
}

void loop() {
   if (gb.update()) {
       gb.display.println("- BUTTONS -");

       gb.display.print("Pressed: ");
       if (gb.buttons.pressed(BTN_A)) gb.display.print("\25");
       else gb.display.print(" ");
       if (gb.buttons.pressed(BTN_B)) gb.display.print("\26");
       else gb.display.print(" ");
       gb.display.println();
       gb.display.print("Released:");
       if (gb.buttons.released(BTN_A)) gb.display.print("\25");
       else gb.display.print(" ");
       if (gb.buttons.released(BTN_B)) gb.display.print("\26");
       else gb.display.print(" ");
       gb.display.println();

       gb.display.print("Held:       ");
       if (gb.buttons.held(BTN_A, 10)) gb.display.print("\25");
       else gb.display.print(" ");
       if (gb.buttons.held(BTN_B, 10)) gb.display.print("\26");
       else gb.display.print(" ");
       gb.display.println();

       gb.display.print("Repeat:   ");
       if (gb.buttons.repeat(BTN_A, 10)) gb.display.print("\25");
       else gb.display.print(" ");
       if (gb.buttons.repeat(BTN_B, 10)) gb.display.print("\26");
       else gb.display.print(" ");
       gb.display.println();

       if (gb.buttons.pressed(BTN_C)) {
           gb.titleScreen(F("Buttons example"));
       }
   }
}
イメージ 1
図1:プログラム例
 

 イメージ 1
図2:プログラム実行結果

 

■構文
 gb.buttons.pressed(button)

■パラメータ
 button :選択するボタンの識別子。
 ※ BTN_A, BTN_B, BTN_C, BTN_UP, BTN_RIGHT, BTN_DOWN, BTN_LEFT

■戻り値
 選択されたボタンが押された場合はtrue(boolean)
 

イメージ 1 イメージ 3
励みになりますのでよければクリック下さい(^o^)/

↩【Gamebuinoリファレンス】目次に戻る