#include <M5Unified.h>

int USE_SPRITE = 0 ; //スプライトを使用するとき1

// スプライト用のオブジェクト
LGFX_Sprite spu(&M5.Display);

void setup() {
  M5.begin();
  M5.Display.setRotation(3);

  // スプライトの初期化、サイズを設定
  spu.setColorDepth(8);
  spu.createSprite(240, 135);
  randomSeed(analogRead(0));

}

void loop() {
  int r = random(100000);
  if ( USE_SPRITE ) {
    spu.fillSprite( CYAN );
    spu.setCursor(30, 34, 4);  spu.setTextSize(2);
    spu.setTextColor( WHITE, BLUE );
    spu.printf("  %d  \n Sprite ", r );
    spu.pushSprite(0, 0);
  } else {
    M5.Display.fillScreen( TFT_GREENYELLOW );
    M5.Display.setCursor(30, 34, 4);  M5.Lcd.setTextSize(2);
    M5.Display.setTextColor( WHITE, TFT_DARKGREEN );
    M5.Display.printf("  %d  \n LCD ", r);
  }

  M5.update();
  if (M5.BtnA.wasReleased()) {
    USE_SPRITE = 1 - USE_SPRITE ; // スプライト使用の切り替え(1なら0、0なら1)
    M5.Speaker.tone(1000 + 1000 * USE_SPRITE, 500);
  }
  delay(100);
}