2018-03-01から1ヶ月間の記事一覧

Arduboyで固定小数点を扱う その2

構造体と共用体を使って、固定小数点の扱いを少し楽にしてみた。 #include <Arduboy2.h> Arduboy2 arduboy; #define SCREEN_CENTER_X 64 #define SCREEN_CENTER_Y 32 #define SCREEN_LEFT -64 #define SCREEN_RIGHT 63 #define SCREEN_TOP -32 #define SCREEN_BOTTOM 31 </arduboy2.h>…

Arduboyで固定小数点を扱う その1

固定小数点を使うことがあるかもしれないので、テスト。符号1ビット、整数部7ビット、小数部8ビットにした。 整数部は7ビットなので-128〜127まで扱えるが、この値を単純に表示座標として使用すると、画面右の外側にキャラクタを置けない。 そこで、下駄…

Arduboyで処理時間を計る

今後パフォーマンスを計ることもあるかもしれないので、処理の時間を測ってみた。 今回の目的は、時間の計り方を知ることだったので、重そうな処理を適当にグルグルと回してみた。 #include <Arduboy2.h> Arduboy2 arduboy; #define N 1000 static float dust; void setu</arduboy2.h>…

Arduboyの当たり判定

Arduboyには当たり判定用メソッドcollide()が用意されている。 点と矩形、矩形同士の当たり判定が行える。 #include <Arduboy2.h> Arduboy2 arduboy; void setup() { arduboy.begin(); arduboy.setFrameRate(60); arduboy.clear(); } void loop() { if (!arduboy.nextFra</arduboy2.h>…

Arduboyでスプライトを表示する

キャラクタの表示にdrawBitmap()は不向きのようだ。 画像の黒い部分が透けてしまって、重ね合わせると下の画像が見えてしまう。調べてみると、Spritesクラスを使うと良いみたい。いくつかメソッドが用意されているが、drawExternalMask()が意図した表示にな…

Arduboyで画像を表示する

8x8の画像を画面全体に敷き詰めてみた。 #include <Arduboy2.h> Arduboy2 arduboy; const unsigned char bg[] PROGMEM = { 0x00, 0x02, 0x24, 0x42, 0x20, 0x08, 0x10, 0x08, }; void setup() { arduboy.begin(); arduboy.setFrameRate(60); arduboy.clear(); } void loo</arduboy2.h>…

Arduboyの画面をキャプチャする

Arduboyの画面キャプチャの方法を試したところ、環境の違いで動かなかった。 community.arduboy.com 私の環境、mac、Python 3.6で動かした手順を書いておこう。1. macとArduboyをUSBで接続し、Arduboyの電源をONする。 2. macのターミナルから次のコマンドを…

Arduboyのボタン入力

ボタンの種類 UP_BUTTON RIGHT_BUTTON LEFT_BUTTON DOWN_BUTTON A_BUTTON B_BUTTON ボタンが押されていることを取得する #include <Arduboy2.h> Arduboy2 arduboy; void setup() { arduboy.begin(); arduboy.setFrameRate(60); arduboy.clear(); } void loop() { if (!ar</arduboy2.h>…

Arduboyで図形を描画する

点 #include <Arduboy2.h> Arduboy2 arduboy; void setup() { arduboy.begin(); arduboy.setFrameRate(60); arduboy.clear(); } void loop() { if (!arduboy.nextFrame()) return; arduboy.clear(); // 点の描画 arduboy.drawPixel(10, 20, WHITE); arduboy.display(); }</arduboy2.h>…