Arduboy ゲーム開発の基礎知識

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

三角関数

三角関数の使い方の基本を説明します。
三角関数を使うには、C言語に備わっている math.h をインクルードします。
・変数cntが角度を代入する変数
・sin()、cos()の引数はラジアンの値を与える
・度をラジアンに変換するrad()という関数形式マクロを定義
・Aボタンで針を早回し、Bボタンで逆回し

●サンプルコード07 ※三角関数
#include <Arduboy2.h>
#include <math.h> // 三角関数を使う
#define rad(a) (a/180*3.141592) // 度→ラジアンに変換

Arduboy2 arduboy;
double cnt = 0;

void setup() {
  arduboy.begin();
  arduboy.setFrameRate(10);
}

void loop() {
  if (!(arduboy.nextFrame())) return; // 次のフレームまで処理をスキップ
  arduboy.clear();
  if(arduboy.pressed(A_BUTTON))
    cnt += 10;
  else if(arduboy.pressed(B_BUTTON))
    cnt -= 10;
  else
    cnt += 1;
  int x = 32*cos(rad(cnt)); // 線の終端の座標を計算
  int y = 32*sin(rad(cnt)); // 〃
  arduboy.drawLine(64, 32, 64+x, 32+y, WHITE);
  arduboy.drawCircle(64, 32, 31, WHITE);
  arduboy.display();
}

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