ひとしれずひっそり

主にソフトに関することをメモしていきます。過程をそのまま書いていたりするので間違いが含まれます。鵜呑みしない様に。

M5Stamp S3 (4)

久しぶりにPlatformIOでM5Stamp S3を使おうとしたら、M5Stack StampS3が追加されてるのを確認できた。

しかし、そのまま作成したらエラーがでた。
(スクショは撮ってない。)

開くとこの様なエラーが出る。

UnknownBoard: Unknown board ID 'm5stack-stamps3'

ググってみたらこちらがヒットし、単にPlatformIOをアップデートしてないからの様だ。
リンク先にアップデートの仕方が書いてある。

community.m5stack.com

ARDUINO_USB_MODEとARDUINO_USB_CDC_ON_BOOTを定義するとシリアルも使えた。

gist.github.com

前みたいにesp32-s3-devkitc-1を指定しなくても良くなっている。

Space Invaders(5) - 説明画面

SCOREなどの文字表示の後は説明画面を処理してる様だ。

Space Invaders Code

$0AEAから見てみる。

コメントを追っていくと

  • 1秒待つ
  • PLAYを一文字ずつ表示
    • splashAnimateが0なら上下逆さまになっているYを使う
    • splashAnimateが1なら普通のYを使う
  • SPACE INVADERSを一文字ずつ表示
  • 1秒待つ
  • SCORE ADVANCE TABLEを表示
  • 2秒待つ
  • 上下逆さまになっているYの場合はYをひっくり返すアニメーションを表示

アニメーションはややこしそうなのでまた今度

DXOpalでなんか表示したい (3)

作ることはないとか書いてたんだけどやっぱりやりたくなってしまった。

Space Invaders(1) - ひとしれずひっそり

Space Invaders(3) - DrawStatus / ClearScreen - ひとしれずひっそり

Space Invaders(4) - DrawScoreHead - ひとしれずひっそり

のDrawStatus相当まで実装。
Rubyそのままで作り込んでいけるのでDXOpalはすごい。

DXOpalのテスト · GitHub

DXOpalでなんか表示したい (2)

前回の DXOpalでなんか表示したい (1) - ひとしれずひっそり

ScreenBufferを別ファイルにしてrequireする様にしたいけどDXOpalではどうすればいいかわからない。これも追々調べよう。

と書いたんだけど、こちらに作者のyharaxさんが記載していた。

magazine.rubyist.net

require_remoteを使うという事だ。

早速ScreenBufferクラスを別ファイルにしてrequire_remoteで読み込む様にして見した。

gist.github.com

FPSも表示する様にしてみたら、1.2くらいだった。

DXOpalでなんか表示したい (1)

DXOpalでオフスクリーンバッファをスクリーンに転送するのにdraw_pixel使ったらかなり遅かった。 今度Imageで渡す様にしたらどうか試す。

gist.github.com

ScreenBufferを別ファイルにしてrequireする様にしたいけどDXOpalではどうすればいいかわからない。これも追々調べよう。

DXOpal

Ruby でグラフィクを扱える環境を調査。

こちらを参照して

www.sejuku.net

DXOpalを試してみようかな。

yhara.github.io

Hello! って出た。

APIはDXRubyに似ているという事なのでこちらで勉強が必要。

dxruby.osdn.jp