NOBのArduino日記!

NOBのArduino日記!

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

Arduino IDE(gb.display.cursorX変数の使い方)

■gb.display.cursorX変数
 Gamebuimo.hライブラリのgb.display.cursorX変数は、カーソルのX位置を設定します。
 gb.display.printとgb.display.printlnの場所を設定するために使用されます。
 0〜83の値を使用すると、テキスト(またはその一部)が表示されます。

■使用例
 gb.display.cursorX変数を使ったArduinoIDEのプログラム例は図1の通りです。
 このプログラムを実行するとsetup関数中のgb.begin関数でGamebuinoオブジェクトを初期化し、gb.titleScreen関数で画面に「Color example」と表示します。
 スタート画面でキーボードの「K」(GamebuinoのA)ボタンを押すとgb.display.cursorX変数によって指定された画面上にテキストが表示されます。
 「←」ボタンを押すと「INVERT」、「→」ボタンを押すと「WHITE」、「↓」ボタンを押すと「GRAY」色に設定された各種キャラクタが画面に表示されます。
 参考に図1プログラムをHEXファイルに変換し、それをSimbuino4Webエミュレートした結果を図2に示します。

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

//ビットマップエンコーダを使用してエンコードされたビットマップ : http://gamebuino.com/wiki/index.php?title=Download
const byte pointerBitmap[] PROGMEM = {16, 22, 0xC, 0x0, 0x12, 0x0, 0x12, 0x0, 0x12, 0x0, 0x12, 0x0, 0x13, 0x80, 0x12, 0x70, 0x12, 0x4C, 0x12, 0x4A, 0xD2, 0x49, 0xB0, 0x9, 0x90, 0x1, 0x90, 0x1, 0x40, 0x1, 0x40, 0x1, 0x20, 0x1, 0x20, 0x2, 0x10, 0x2, 0x10, 0x2, 0x8, 0x4, 0x8, 0x4, 0xF, 0xFC,};

void setup() {
  gb.begin();
  gb.titleScreen(F("Color example"));
  gb.setFrameRate(42); //より良い結果を得るには、周波数を毎秒42フレームに設定します。
}

void loop() {
  if (gb.update()) {
    //使用する色を黒に設定します。 2番目の色が指定されていない場合、背景は透明です
    gb.display.setColor(BLACK);
    gb.display.fillRect(34, 0, 16, 48);




    //使用可能な色は次のとおりです。
    //  白
    //  黒
    // INVERT:負の効果
    // GRAY:ピクセルをすばやく点滅させて画面の永続性を使用してグレーを作成する
    //実験では、毎秒42フレームで画面を実行すると、グレー
    //カラー値を変数に格納することができます:バイト色= BLACK;
    //背景と前景色が同じ場合、背景は透明のままです。バイト背景=白;
    //条件によって色を変えることができます
    //ここではボタンを使用します:


    if (gb.buttons.repeat(BTN_RIGHT, 1)) {
      color = WHITE;
      gb.display.println(F("WHITE"));
    }
    if (gb.buttons.repeat(BTN_LEFT, 1)) {
      color = INVERT;
      gb.display.println(F("INVERT"));
    }
    if (gb.buttons.repeat(BTN_DOWN, 1)) {
      color = GRAY;
      gb.display.println(F("GRAY"));
    }

    //ボタンが押された場合の背景色を変更する :
    if (gb.buttons.repeat(BTN_A, 1)) {
      background = BLACK;
      gb.display.println(F("BLACK"));
    }
    if (gb.buttons.repeat(BTN_B, 1)) {
      background = INVERT;
      gb.display.println(F("INVERT"));
    }

    //上で定義した色を設定する
    gb.display.setColor(color, background);

    //次にいくつかを描画します。
    //矩形
    gb.display.fillRect(20, 16, 16, 16);
    //ビットマップ
    gb.display.drawBitmap(20, 16, pointerBitmap);
    //いくつかのテキスト
    gb.display.cursorX = 40;
    gb.display.cursorY = 0;
    gb.display.fontSize = 2;
    gb.display.print(F("Text"));
    gb.display.fontSize = 1;


    //Cを使用した時にユーザーがタイトル画面に戻ることを許可する。
    if (gb.buttons.pressed(BTN_C)) {
      gb.titleScreen(F("Bitmap example"));
    }
  }
}
イメージ 1
図1:プログラム例
 

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

 

■構文
 gb.display.cursorX=x

■パラメータ
 x:任意の数(0~83)
 

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

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