コンテンツにスキップ

サンプル集

/app 以下に同梱されているアプリの紹介です。それぞれが API の特定の部分を使っているので、 まず動かしてみて、自分のアプリを書くときにソースを読んでください。

ソースの場所:

  • 実機上: /app/<カテゴリ>/<名前>.app.rb
  • リポジトリ: fmruby-core/flash/app/<カテゴリ>/<名前>.app.rb
  • 設定: 同じ場所の <名前>.app.toml

言語を問わない全体の一覧は 標準アプリ にあります。

Ruby のデモ — /app/demo

アプリ 見どころ API
picoruby.app.rb 枠組みが持つ描画・フォント・スプライト・音・P5 を 1 ページずつ全部。最初に読むもの FmrbGfx、スプライト、P5、FmrbAudio、FmrbUI
kamon.app.rb 5 つの部品から家紋を作ります。組み合わせは部品のパネルで選びます FmrbUI、FmrbGfx
piano.app.rb 1 オクターブをキーボードで弾きます。チャンネルとスイープはパネルで FmrbAudio#note_on / note_off
mml.app.rb 同じ曲を内蔵音源か外部音源で。MML のテキストをファイルから読みます MIDI、MML
midi_apu.app.rb 内蔵音源を MIDI 層から鳴らします MIDI
weather.app.rb HTTPS で予報を取って描きます。ネットワーク API の一通り ネットワーク
pub_demo.app.rb + sub_demo.app.rb 送る側と受ける側の最小の組。2 つ一緒に動かします Pub/Sub
stackchan.app.rb + stackchan_remote.app.rb 表情を持つ顔と、それを別のアプリから動かす側 FmrbGfx、Pub/Sub
led_matrix.app.rb GROVE 端子の WS2812B 8x8 行列。画面にも同じものを出します RMT
i2c_kbd.app.rb アドレス 0x5F の I2C キーボード I2C、Pub/Sub

Python — /app/python

アプリ 見どころ
python.app.py picoruby.app.rb の双子。ページも同じで、MicroPython で書かれています
pybench.app.py Python のアプリが 1 フレームで何をこなせるか。ゲームの書き方を決める 3 つのコスト

ゲーム — /app/game

アプリ 見どころ API
flappy.app.rb ボタン 1 つ。背景つきで、効果音は音源から FmrbGfx、FmrbAudio、ゲームパッド
blockgame.app.rb 状態を持つゲーム。BGM と効果音つき。矢印キーと Space FmrbGfx、FmrbAudio
shooter.app.rb スプライト、急降下する編隊、面の間のボス スプライト、当たり判定
rpg_demo/ 滑らかにスクロールするタイルの世界。当たり判定、BGM、効果音。素材はアプリ自身のディレクトリに置いてあります タイルマップ、FmrbApp.set_cursor_visible
raycaster.app.rb 疑似 3D の一人称視点。large_memory = 1 が要ります 固定小数点、速い FmrbGfx
robo_explorer/ 直接は遊べない迷路。ロボットは配信された命令にだけ従います。操縦は別のアプリで、あなたが書くのは my_pilot.rb です Pub/Sub
breakout/breakout.app.py Python のサンプルゲーム。スプライト、タイル、日本語、主音源の曲と副音源の効果音 Python の枠組み

道具 — /app/tool

アプリ 見どころ API
picorabbit.app.rb Markdown の資料を全画面で発表し、1 枚ずつ画像に書き出します FmrbGfx#export_frame、スプライト
nsf_player.app.rb NSF の再生。曲の選択と、部品で作った操作パネル FmrbAudio#play、FmrbUI
smf_player.app.rb 標準 MIDI ファイルを内蔵音源か外部音源で MIDI、FmrbUI
sprite_editor.app.rb 16x16 の RGB332 タイル表。BMP を読み、点を打ち、書き戻します スプライト、BMP332
gpio_viewer.app.rb 全 GPIO を、何が使っているかで色分けして表示します FmrbHw.pin_status

Modern 専用 — /app/modern

アプリ 見どころ API
mic_spectrum.app.rb マイクの標本化も変換も描画も、すべて本体の上で Fmrb::Fft、FmrbAudio
video_play.app.rb Motion JPEG を窓の中で再生します FmrbGfx#video_open
imu.app.rb 6 軸センサを水準器として表示します I2C

/app/debug と /app/test も入っていますが、わざと壊すためのもので、ランチャーにも 出ません。写して使うサンプルではありません。

関連