サンプル集¶
flash/app/ 以下に同梱されているアプリの紹介です。それぞれが特定の API・機能を実演しているので、まず動かしてみて、ソースを読みながら自分のアプリを作る参考にしてください。
ソースファイルの場所:
- mruby アプリ: fmruby-core/app/<カテゴリ>/<名前>.app.rb
- 設定: 同じディレクトリの <名前>.app.toml
デモ (demo)¶
基本機能を見せるサンプル群です。
| アプリ | 内容 | 学べる API |
|---|---|---|
mruby.app.rb |
mruby の動作確認・最小サンプル | FmrbApp, FmrbGfx 基本 |
shapes.app.rb |
図形描画の総合デモ(矩形・円・楕円・三角形・円弧・テキスト) | FmrbGfx |
ja_text.app.rb |
日本語テキスト描画。Default / misaki_8 / efontJA_12 / Mixed / Hybrid / Scaled を切替 | FmrbGfx#set_font |
p5_test.app.rb |
Processing/p5.js 風描画ライブラリのデモ(基本図形 / アフィン変換 / ベジエ / テキスト / blend / get_pixel) | P5 |
i2c_kbd.app.rb |
I2C キーボード(アドレス 0x5F)からの入力読み取り |
I2C + Pub/Sub |
led_matrix.app.rb |
WS2812B 8x8 RGB LED 行列の制御 + 画面プレビュー | RMT, Pub/Sub |
pub_demo.app.rb + sub_demo.app.rb |
アプリ間 Pub/Sub の最小ペア | Pub/Sub |
lua.app.lua |
Lua VM の動作確認 | – |
basic.app.bas / bounce.app.bas |
BASIC VM の動作確認 | – |
デバッグ (debug)¶
flash/app/debug/ 配下の検証用アプリ。
| アプリ | 内容 | 学べる API |
|---|---|---|
ntsc_color_test.app.rb |
NTSC カラーバー出力テスト | FmrbGfx#set_output_level/set_chroma_level |
sd_test.app.rb |
SD カードへ /mnt/sd/sd_test.txt を書き → 読み → 比較。Space で再実行 |
ファイル・I/O ▸ ファイル名前空間 |
tile_map_test.app.rb |
TileMap + TileSheet + JSON でマップ描画 | TileMap / TileSheet |
draw_tile_test.app.rb |
FmrbGfx#draw_tile の最小検証 |
FmrbGfx ▸ draw_tile |
ゲーム (game)¶
| アプリ | 内容 | 学べる API |
|---|---|---|
flappy.rb |
Flappy Bird 風ゲーム。タップで上昇、障害物を避ける | FmrbGfx, FmrbAudio (note_on/off), ゲームパッド |
tetris.app.rb |
テトリス風落ちものパズル。矢印キー操作 | FmrbGfx, ボード描画パターン |
shooter.app.rb |
フルスクリーンシューティング | Sprite, 当たり判定 |
raycaster.app.rb |
Wolfenstein 3D 風の擬似 3D。large_memory = 1 を指定 |
固定小数点演算、FmrbGfx 高速描画 |
piano.app.rb |
キーボードで弾けるピアノ | FmrbAudio#note_on/off |
rpg_demo/ |
JRPG 風サンプル。/app/<cat>/<bundle>/ 形式でアセットを同梱 |
TileMap / TileSheet, FmrbApp.set_cursor_visible |
ツール (tool)¶
| アプリ | 内容 | 学べる API |
|---|---|---|
gpio_viewer.app.rb |
全 GPIO ピンの使用状態を可視化 | FmrbHw.pin_status |
nsf_player.app.rb |
NSF ファイルの再生 GUI(曲送り、トラック選択、一時停止) | FmrbAudio#play, ファイル選択 |
picorabbit.app.rb |
Markdown 形式のスライド再生 | PicoRabbit |
sprite_editor.app.rb |
スプライトエディタ。ドット絵を描いて BMP に保存 | Sprite, BMP332 |
学習に最適な順番¶
mruby.app.rbを読んで基本構造を把握shapes.app.rbでFmrbGfxの使い方を確認pub_demo.app.rb/sub_demo.app.rbでアプリ間メッセージングpiano.app.rbで音声 APIflappy.rbで「描画 + 音 + 入力」の組み合わせtetris.app.rbで状態を持つゲームraycaster.app.rbで大規模アプリの構成と最適化
自分のアプリを書きたいときの起点¶
- 最小限から始めるなら
mruby.app.rb - ウィンドウ + 描画なら
shapes.app.rb - ゲームを作りたいなら
tetris.app.rbまたはflappy.rb - ハードウェアを触りたいなら
i2c_kbd.app.rbまたはled_matrix.app.rb
新規アプリの始め方は Hello World を参照してください。
関連¶
- アプリの作り方 → Hello World
- アイコンファイル → 画像・アイコンファイル
- アプリ設定 → アプリ設定ファイル (.toml)