紙芝居アプリ 3.2 操作説明書
Copyright © 2026 Hiroya Kubo. この文書はCC BY-SA 4.0で提供します。
対象: 紙芝居を再生する人、発表者、授業やワークショップで進行する人
対象アプリ: 紙芝居アプリ kamishibai=3.2 のWeb版と用途別SB3
このアプリでできること
この紙芝居アプリは、テキストで書かれた紙芝居DSLファイルを読み込み、背景画像、登場人物、画面上のテキスト、セリフ、思考吹き出し、効果音、音楽、移動・切り替え演出、ポーズ認識を組み合わせて紙芝居を再生するアプリです。
普通の紙芝居のように「見る」だけでなく、途中で参加者がカメラの前でポーズを取ることで物語が進みます。urashima.txt では、浦島太郎がカメを助ける、カメに乗る、踊る、玉手箱を受け取る、玉手箱を開ける、といった場面がポーズ認識に組み込まれています。
3.2では、シーンに名前を付け、条件分岐やキー・タッチ入力で移動先を変えられます。フェード演出、アクター画像のループ/一回再生、ランタイム変数、画面上のテキストも台本から扱えます。
3.2.xアプリはkamishibai=3.1とkamishibai=3.2の台本を読み込むため、既存の3.1台本は冒頭を書き換えずに再生できます。3.1までの書き方で作られた文字表示も、そのまま表示・更新できます。台本を書く側での新旧の使い分けは、ファイル作成マニュアルの「3.1台本との互換性」で説明しています。
利用形態と必要なもの
紙芝居アプリには、台本と作品固有アセットの持ち方が異なる4つの利用形態があります。
| 利用形態 | 開き方 | 台本と作品固有アセット | 主な用途 |
|---|---|---|---|
| Web版 | サンプルサイトから作品を開く | Webページに組み込み済み | すぐに作品を再生する |
player(再生用SB3) |
サンプルサイトから作品のSB3を取得し、TurboWarpで開く | SB3に組み込み済み | 配布・再生、Web版の生成 |
editor(編集用SB3) |
サンプルサイトの作品詳細から _作品名.sb3 を取得し、TurboWarpで開く |
アセットは組み込み済み、台本は外部TXT | 台本を編集しながら確認する |
generic(汎用SB3) |
ダウンロードページから kamishibai.sb3 を取得し、TurboWarpで開く |
台本は外部TXT、アセットは台本の指定に従う | 新しい作品を作る |
浦島太郎の公開ページでは、Web版、再生用SB3、編集用SB3、公開台本 urashima.txtを取得できます。
共通して、次の点を確認してください。
| 必要なもの | 説明 |
|---|---|
| 対応ブラウザー | Web版の再生とTurboWarpの利用に必要です。 |
| インターネット接続 | TurboWarp TMのライブラリとモデルを取得する場合に必要です。genericでは、台本が外部URLを参照していれば画像・音声の取得にも使用します。 |
| カメラ | ポーズ認識を使う場合に必要です。 |
| 明るい場所 | ポーズ認識の精度が上がります。 |
| 発表用画面 | 授業や発表では、プロジェクタ、電子黒板、画面共有などがあると便利です。 |
基本的な使い方
アプリを起動する
- Web版は、サンプルサイトから作品を開きます。
- SB3はTurboWarpで開き、緑の旗を押します。
タイトル画面が表示された後の操作は、利用形態によって異なります。
Web版または再生用SB3を再生する
- タイトル画面をクリックします。
- 組み込み済みの台本と作品固有アセットが読み込まれます。
- 紙芝居が始まります。
ファイル選択は必要ありません。画像・音声・台本は作品へ組み込まれていますが、ポーズ認識を使う作品ではTurboWarp TMのライブラリ・モデル取得とカメラ利用のためにネットワーク接続が必要です。
汎用SB3または編集用SB3で台本を読み込む
- メニューにあるファイル読込ボタン(
ファイルを開く/Open)を押します。 .txtの台本ファイルを選びます。- アプリが台本を読み込みます。
- 台本にLoading用背景や画像が指定されている場合は、それらを先に読み込みます。
- Loadingの吹き出しで進捗を表示しながら、残りの画像や音声を読み込みます。編集用SB3では作品固有アセットをSB3内から、汎用SB3では台本の指定に従って読み込みます。
- 読み込みが終わると、紙芝居が始まります。
台本を一度読み込むと、ブラウザーのlocalStorageに保存されます。同じブラウザーであれば、次回以降は前回の台本を再生できます。
前回の台本を再生する
- 緑の旗を押します。
- 前回台本ボタン(
もう一度/Reload)が表示されていることを確認します。 - 前回台本ボタンを押します。
- 保存されている台本が再生されます。
注意: localStorageはブラウザーごとの保存領域です。別のブラウザー、別の端末、シークレットモードでは前回台本が表示されないことがあります。
画面に表示される主なもの
タイトル画面とメニューは、アプリの表示言語に応じて日本語または英語で表示されます。初回はScratch/TurboWarpの標準の(言語)ブロックが返す表示言語から選びます。メニュー末尾の言語/Languageで明示的に切り替えると、その選択をlocalStorageへ保存し、次回以降は保存値を優先します。選択画面では現在の言語を✓で示します。台本本文の言語は切り替えません。
アプリUIは台本を読む前から必要なため、ui.open、ui.reload、ui.about、ui.invalidScriptを台本から設定する仕様ではありません。台本から変更できる予約済みUIテキストは、ポーズ案内のui.promptだけです。
| 表示・役割 | 日本語 | 英語 | 説明 |
|---|---|---|---|
| 表紙画面 | 日本語タイトル | 英語タイトル | 台本読み込み前、または物語終了後に表示される画面です。 |
| ファイル読込ボタン | ファイルを開く |
Open |
新しい .txt 台本ファイルを選ぶためのボタンです。 |
| 前回台本ボタン | もう一度 |
Reload |
localStorageに保存された前回の台本を再生するボタンです。 |
| タイトル表示ボタン | アプリ情報 |
About |
タイトル画面へ戻るボタンです。 |
| 言語ボタン | 言語 |
Language |
日本語またはEnglishを選びます。 |
| Loading | - | - | アセット読み込み中に表示される案内役です。通常アセットの完了数/総数を吹き出しに表示します。 |
| ポーズ案内 | Pose! |
Pose! |
ポーズ認識が必要な場面で表示されるプロンプトです。text=ui.prompt:...で変更できます。 |
| ポーズ認識 | - | - | 現在のポーズ認識の信頼度を示す目安です。 |
| チャージ | - | - | 目標ポーズが一定時間認識されると増える値です。100になると成功です。 |
| 台本エラー | エラー:不正な台本ファイル |
Invalid script |
台本の書き方に問題がある場合に表示されます。 |
Loadingの見方
Loadingの吹き出しは完了数 / 総数です。3 / 10なら、通常アセット10件のうち3件の読込が完了しています。Loading表示そのものに使う背景や画像は先に読み込まれるため、この分子・分母には含まれません。
台本作者はsetLoadingBackdrop=loadingBackgroundでLoading中の背景を、setLoadingCostume=loading1,loading2,loading3でLoading画像を指定できます。背景を指定しない場合は真っ黒な組み込み背景を使います。Loading画像が複数指定されている場合は、通常アセットの読込番号に応じて順番に切り替わります。進捗の吹き出しは画像とは別の固定位置から表示されるため、各画像の大きさや外形が異なっても位置は変わりません。
紙芝居の進み方
紙芝居はシーン単位で進みます。各シーンでは、次のような演出が自動的に順番に実行されます。
- 背景を変える
- 音楽や効果音を鳴らす
- 登場人物を表示する
- 画面上のテキストを表示・更新する
- 登場人物を移動させる
- 画像を連続切り替えしてアニメーションさせる
- セリフや思考吹き出しを表示する
- 指定秒数待つ
- ポーズ認識を行う
- 条件、キー入力、タッチ入力に応じて別のシーンへ進む
各シーンの終了時にはアクターが非表示になります。背景、画面効果、bgmで再生を始めた音は、次のアクションで変更するか音声自体の再生が終わるまで継続します。次のシーンでも同じBGMを使う場合は、bgmを改めて書く必要はありません。意図しない表示状態の持ち越しを避けるため、背景や登場人物は台本側で明示することを推奨します。
ポーズ認識シーンの操作
カメラを許可する
台本を再生すると、ブラウザーがカメラ利用の許可を求める場合があります。ポーズ認識を使う紙芝居では、カメラを許可してください。
許可しない場合、ポーズ認識が進まず、物語が止まることがあります。
ポーズを取る
- 画面にポーズ案内が表示されます。浦島太郎の公開台本では「ポーズをとろう!」、未定義時は
Pose!です。 - カメラの前に立ちます。
- 画面のキャラクターや進行役の指示に合わせてポーズを取ります。
- 正しく認識されると、チャージが増えます。
- チャージが100になると、そのポーズは成功です。
- 複数のポーズがある場合は、次のポーズに進みます。
台本でsetPoseRecognitionSound=Clock Ticking,Sewing Machineのように音声アセット名を指定すると、第1音を各ポーズの認識開始から終了まで鳴らし、第2音をポーズが認識されるたびに鳴らせます。第2音は省略でき、コマンド自体を省略した場合は無音です。
ポーズが認識されにくいとき
次の点を確認してください。
| 問題 | 対処 |
|---|---|
| 暗い | 明るい場所に移動する、照明をつける。 |
| 体が画面からはみ出る | カメラから少し離れる。 |
| 背景がごちゃごちゃしている | できるだけ単純な背景にする。 |
| 服と背景の色が近い | 背景と違う色の服にする。 |
| 複数人が映っている | ポーズを取る人だけが映るようにする。 |
| カメラが許可されていない | ブラウザーのカメラ許可を確認する。 |
発表・授業での使い方
事前準備
発表前に、必ず1回は最初から最後まで再生テストをしてください。特に次の点を確認します。
- 台本ファイルが読み込めるか
- 画像が表示されるか
- 音声が鳴るか
- カメラが使えるか
- ポーズ認識が進むか
- プロジェクタや画面共有で見やすいか
進行のコツ
紙芝居の途中でポーズ認識が入る場合、発表者は次のように案内するとスムーズです。
「ここでみんなの力が必要です。画面の前でカメを助けるポーズをしてみましょう。」
ポーズ認識は、動作が大きく、止まっている時間が少し長いほど成功しやすくなります。急いで動くより、「ポーズを作って、少し待つ」のがコツです。
参加人数の考え方
ポーズ認識は基本的に、カメラに映っている人の姿勢をもとに判断します。大人数が一度に映ると認識が不安定になることがあります。授業では、代表者が前に出てポーズを取る形式が扱いやすいです。
リハーサル・開発者用キー操作
発表練習や台本の動作確認では、次のキー操作が使えます。
| キー | 動作 | 用途 |
|---|---|---|
| スペースキー | 現在のポーズ認識1件をスキップ | 複数ポーズのうち1件だけを飛ばしたいとき |
| 右矢印キー | 現在のアクションを完了して次のアクションへ進む | 演出を1件ずつ確認したいとき |
| 下矢印キー | 現在シーンを終了して次のシーンへ進む | シーン単位で確認したいとき |
キーは処理中だけ受け付けます。スペースキーはポーズ待ち中、右矢印キーはアクション実行中にだけ有効です。アクションとアクションの間に右矢印キーを押しても、次のアクションを先回りして飛ばしません。下矢印キーはシーン実行中に有効です。タイトル画面では、スペースキーまたは画面クリックだけを受け付けます。
下矢印キーでシーンを飛ばした場合も、残りのtransitionは待ち時間なしで最終状態まで適用され、bgmは再生を開始します。すでに再生中のBGMは停止しません。現在再生待ちのsoundは停止し、それ以外の残りのアクションは実行せずに次のシーンへ進みます。
本番中に誤って押すと演出が飛ぶため、発表用PCではキーボード操作に注意してください。
よくあるトラブルと対処
台本エラーが表示される
台本の文法に誤りがある可能性があります。未定義時は Invalid script、浦島太郎の公開台本では「エラー:不正な台本ファイル」と表示されます。
確認すること:
- 先頭に
kamishibai=3.1またはkamishibai=3.2があるか(新規台本は3.2を推奨) key=valueの形式になっているか- 未対応のコマンド名を書いていないか
action=の区切り:が不足していないか---の位置が正しいか- 分岐先の
sceneLabelが存在するか
画像や音が読み込まれない
アセットURLが間違っている、URL先にアクセスできない、ネットワークが使えない、ブラウザーが読み込みを拒否している可能性があります。
確認すること:
- URLをブラウザーで直接開けるか
- ファイル名の大文字・小文字が一致しているか
- 画像や音声が公開URLに置かれているか
- ネットワークが安定しているか
setLoadingBackdropに書いた名前がasset=で画像として定義されているかsetLoadingCostumeに書いた名前がasset=で画像として定義されているか
紙芝居が途中で止まる
多くの場合、ポーズ認識待ち、音声の再生待ち、または長い wait の途中です。
確認すること:
- 「ポーズをとろう」が表示されていないか
soundで長い音声を再生していないかwaitの秒数が大きすぎないか
セリフが想定通りに出ない
say と think では、半角 : が本文と秒数の区切りとして使われます。本文に半角 : を入れると、本文と秒数の対応が崩れます。
対処:
- セリフ内では
:のような全角記号を使う =はセリフ本文に使用できる。コマンド行で区切りになるのは最初の=だけ
本番前チェックリスト
- 台本ファイルを読み込める
- Loadingの進捗が総数まで進み、読込完了後に消える
- 表紙が表示される
- すべての背景が表示される
- 登場人物が正しい位置に出る
- セリフが読める
- 音が大きすぎない、小さすぎない
- ポーズ認識が成功する
- カメラの位置が適切
- 発表者がスキップキーを把握している
- 本番用の台本ファイルを間違えないようにしている
関連ドキュメント
executive-summary-adult.md: 紙芝居アプリ3.2の大人向け概要説明executive-summary-kids.md: 紙芝居アプリ3.2の子供向け概要説明dsl-manual.md: 紙芝居DSL 3.2ファイルの作り方command-reference.md: 紙芝居DSL 3.2のコマンドとアクションの早見表history.md: 紙芝居DSL 2.0から3.2への変更履歴developer-guide.md: 紙芝居アプリ3.2の成果物、開発、検証、公開の手順internal-specification.md: 紙芝居アプリ3.2の内部構造、呼出し関係、状態遷移