Arduboy ゲーム開発の基礎知識

ここはArduboyでゲーム開発を行う基本技術を説明するページです。

BEEP音を鳴らす

Arduboyには音を鳴らす機能があります。
BEEP音を鳴らすには BeepPin1 beep として、音を鳴らすためのオブジェクトを用意します。そして以下の命令で音を制御します。
・beep.begin() 音を鳴らす準備で、setup()に記述
・beep.timer() 鳴らす時間を制御するための命令で、loop()に記述
・beep.tone(beep.freq(周波数), フレーム数)で音を鳴らす
※BeepPin1はピン1のスピーカで、BeepPin2もあります。BeepPin3はありません。

●サンプルコード05 ※C4のドからB4のシの音を順に鳴らす
#include <Arduboy2.h>
 
Arduboy2 arduboy;
BeepPin1 beep;
const float Hz[7] = {523.251, 587.330, 659.255, 698.456, 783.991, 880.0, 987.767};
const char SCALE[7] = {'C', 'D', 'E', 'F', 'G', 'A', 'B'};
int n = 0;
unsigned char t = 0;

void setup() {
  arduboy.begin();
  beep.begin();
  arduboy.setFrameRate(30);
}

void loop() {
  if (!arduboy.nextFrame()) return;
  beep.timer();
  t++;
  if(t%64==1) beep.tone(beep.freq(Hz[n]), 10);
  if(t%64==0) n = (n+1)%7;
  arduboy.clear();
  arduboy.setCursor(40, 28);
  arduboy.print(Hz[n]);
  arduboy.print("Hz ");
  arduboy.print(SCALE[n]);
  arduboy.print(4);
  arduboy.display();
}

Arduboyでゲーム開発のページへ移動
プログラミング、ゲーム開発の書籍を執筆します
メールはこちらへ: