2018-03-01から1ヶ月間の記事一覧
構造体と共用体を使って、固定小数点の扱いを少し楽にしてみた。 #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>…
固定小数点を使うことがあるかもしれないので、テスト。符号1ビット、整数部7ビット、小数部8ビットにした。 整数部は7ビットなので-128〜127まで扱えるが、この値を単純に表示座標として使用すると、画面右の外側にキャラクタを置けない。 そこで、下駄…
今後パフォーマンスを計ることもあるかもしれないので、処理の時間を測ってみた。 今回の目的は、時間の計り方を知ることだったので、重そうな処理を適当にグルグルと回してみた。 #include <Arduboy2.h> Arduboy2 arduboy; #define N 1000 static float dust; void setu</arduboy2.h>…
Arduboyには当たり判定用メソッドcollide()が用意されている。 点と矩形、矩形同士の当たり判定が行える。 #include <Arduboy2.h> Arduboy2 arduboy; void setup() { arduboy.begin(); arduboy.setFrameRate(60); arduboy.clear(); } void loop() { if (!arduboy.nextFra</arduboy2.h>…
キャラクタの表示にdrawBitmap()は不向きのようだ。 画像の黒い部分が透けてしまって、重ね合わせると下の画像が見えてしまう。調べてみると、Spritesクラスを使うと良いみたい。いくつかメソッドが用意されているが、drawExternalMask()が意図した表示にな…
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の画面キャプチャの方法を試したところ、環境の違いで動かなかった。 community.arduboy.com 私の環境、mac、Python 3.6で動かした手順を書いておこう。1. macとArduboyをUSBで接続し、Arduboyの電源をONする。 2. macのターミナルから次のコマンドを…
ボタンの種類 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>…
点 #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>…