スマホアプリを実際に作ってみたいと思います。
今回は簡単なデジタル時計を作成します。とても簡単なので、実行行数は40行程度です。
1. 仕様
今回は非常に単純な時計とし、機能は今の日時と時間を表示することだけにします。仕様は以下のとおりとします。
- 西暦からの日付を表示する(例:2015年1月1日)
- 曜日を日本語で表示(例:月曜日)
- 時間を24時間の形で表示(例:13時32分16秒)
- 100ミリ秒間隔で画面更新
- 画面の向きは固定
2. 画面設計
日時、曜日および時間を表示するだけなので、以下のような画面とします。
3. 本スマホアプリで使うCorona SDK の機能
スマホアプリを作成するにあたり使用する機能です。
本サイトで説明した機能
Lua言語
- 日時取得:os.date(“*t”)
- 文字列処理:string.format()
4. プログラムの説明
プログラムの説明をします。ソースコードは最終章にあるので、そちらを参照してください。
4.1 プログラムの流れ
プログラムの流れを簡単に説明します。
- 現在時刻の取得
- 日時、曜日、時間のテキストオブジェクトの作成
- 更新処理の開始(タイマの開始)
- 更新処理(タイマで呼ばれる処理)
- 現在時刻の取得
- 日時、曜日、時間のテキストオブジェクトの更新
4.1.1 現在時刻の取得
42行目、60行目
現在時刻は以下の関数を実行すると取得できます。
os.date(“*t”)
戻り値はテーブルになっています。
変数名 | 意味 |
---|---|
year | 年 |
month | 月 |
day | 日 |
wday | 曜日(1:月曜日) |
hour | 時 |
min | 分 |
sec | 秒 |
4.1.2 日時、曜日、時間のテキストオブジェクトの作成
44 ~ 50行目
string.format()関数を使用して、日時と時間の文字列を作成しています。それぞれで作成した文字列をもとにテキストオブジェクトを作成しています。
4.1.3 更新処理の開始(タイマの開始)
70行目
タイマを使用して、100ミリ秒毎に画面更新関数を実行するようにしています。
4.1.4 更新処理(タイマで呼ばれる処理)
58 ~ 67行目
タイマが呼び出す画面更新関数です。ここでは現在時刻を取得し、テキストオブジェクトの文字列を変更しています。
5. 完成
プログラムを実行すると以下のような画面が表示され、時間が更新されます。
6. あとがき
Corona SDK を使用すると、簡単に時計を作成することができます。今回作成した時計アプリをきっかけに色々な機能をつけて自分専用の時計を作成してみてはいかがでしょうか。
私が作成したアプリです。
もし宜しければ見て行ってください。
7. ソースコード
プログラムの全文を掲載します。
<注意>
設定ファイルはCorona SDKが自動で作成したままです。
文字コードがUTF-8になっています。(Corona SDKではUTF-8が標準の為)
ファイル名は必要に応じて変更し利用してください。
本サイトの注意事項を確認してください。
ソースコードを使用する場合、上記注意とともに、自己責任でお願いします。
<更新履歴>
版 | 更新日 | Corona SDKのバージョン |
新規作成 | 2015年8月18日 | v2015.2646 |