2014年1月20日月曜日

APP Inventor で黙祷アプリを作ってみた (4/7)

設定画面もできたので、今度は、設定した内容でもって
黙祷画面が動くように変更します。

ここで、ちょっと仕様を変更します。

最初にメッセージを1ずつ表示していたのですが、
これをやめて、1文字ずつ表示するように変更します。

なぜかというと、設定画面で入力した文字(マルチラインをONにして複数行入れれる)を改行コードで1行ずつに分けて、表示しようと思ったのですが、この「文字列を改行コードで分割」する。ってことができなかったからです。
(私が調べた限りでは無理でした。何かご存知でしたら情報をいただけるとうれしいです)

以下は、変更後の黙祷画面です。

以前よりずいぶん変わりました。

1.画面デザイン
・メッセージラベルを1つだけにしました。
・メッセージの文字数を表示する「MeesageCount」ラベルを追加しました。
・画面をクローズするためのタイマー「CloseClock」を追加しました。

2.初期化ロジック
・「g_msgText」というグローバル変数を用意し、画面の初期化時にDBよりメッセージ文字列を読み込んでセットしています。これは設定画面のメッセージで入力したものです。
・メッセージを1文字ずつ表示する間隔「MsgTypingInterval」をタイマーにセットしています。後で設定画面にも追加します。
・設定画面で録音した祈りの言葉を PrayerSound の Source にセットしています。なければプリセットされた、prayer1.wav をセットします。

3.メッセージを1文字ずつ表示する
・何文字目まで表示したかを保持するグローバル変数「g_msgNo」を宣言します。
・「g_msgNo」をインクリメント(1ずつ増加)します。
・「g_msgNo」がメッセージ文字数以内であれば、1文字目から「g_msgNo」までのメッセージを表示します。また、現在の表示位置を「(x/y)」で表示します。
・「g_msgNo」がメッセージ文字数を超えたら、「目を閉じて、12回祈ります」というメッセージを表示し、タイマー(PrintMessageClock)をストップします。黙祷用のタイマー(PlayPrayerClocl)をオンにし、黙祷開始の音声を流します。

4.祈りの言葉を12回流す
・祈りの言葉を何回流した保持するグローバル変数「g_prayerCnt」を宣言します。
・「g_prayerCnt」が12以内であれば、祈りの言葉を再生します。
・「g_prayerCnt」が12を超えたら、「黙祷、おわり」の音声を再生してタイマー(PlayPrayerClock)を停止させ、画面クローズ用の別タイマー(CloseClock)をオンします。
※なぜタイマーで画面をクローズしているかというと、「黙祷、おわり」のメッセージが再生されないうちに画面がクローズしてしまうためです。「黙祷、おわり」のメッセージが再生されるであろう、3秒待ってから画面をクローズするようにしています。

今日はこのへんで。ではまた。

0 件のコメント:

コメントを投稿