時刻とともに、その日の出来事をキャラクターが音声で教えてくれるアプリを作る
このアプリについて
今回のアプリは、10秒間隔で現在の年月日時分秒がアニメ—ションを伴って表示され、その時刻をキャラクタが読み上げるアプリです。単に現在の日時を表示させるだけでは、Windows ストアの審査で「価値と有用性がない」と理由でリジェクトされます。そこで、当日に起きた過去の出来事の一部を表示させるようにしています(図1)。
またマウスの右クリックで、表示される年月日時分秒の色とフォントを選択して保存できるようにしています。色とフォントを保存すると次回起動時には選択した色とフォントで表示されるようになります(図2)。
フォントは「ユアネームフォントダウンロード」を下記よりダウンロードして使用しています。適当なフォントをダウンロードしてください。
> ユアネームフォントダウンロード
ダウンロードしたフォントを解凍して、コントロールパネルの「フォント」の中にドラッグ&ドロップして追加しておきます。
プロジェクトの作成
VS 2013のメニューから[ファイル]−[新規作成]−[プロジェクト]と選択します。次に、「テンプレート」から「Windows ストア」を選択し、右に表示される項目名から「新しいアプリケーション(XAML)」を選択します。「名前」に任意のプロジェクト名を指定します。ここでは「syoko_TimeShow」という名前を付けています。
ソリューション・エクスプローラー内にImageというフォルダを作成し、4枚のキャラクタのPNG画像を配置しています。またFontフォルダを作成して、ダウンロードした「ユアネームフォント」を何点かコントロールパネルの「フォント」から追加しています。
ダウンロードされたサンプルファイルには、PNG画像やフォントは追加済みです。
Nugetパッケージの管理
ソリューション・エクスプローラーの「全てのファイルを表示」アイコンで、「参照設定」を表示します。「参照設定」を選択し、マウスの右クリックで表示されるメニューから「Nugetパッケージの管理」を選択し、表示される画面の「オンライン」を選択し、「検索」欄にWinRTXamlToolkitと入力します。すると、WinRT XAML Toolkitが表示されるので、「インストール」をクリックしてインストールしてください。今回は、このコントロールに含まれるCascadingTextBlockやCountDownControlコントロールを使用するためにWinRT XAML Toolkitが必要です。
WinRT XAML Toolkitについては、下記のURLを参照してください。
> WinRT XAML Toolkit
WinRT Xaml Toolkitのコントロールをツールボックスに追加する
ツールボックスの「全てのXAMLコントロール」の上でマウスの右クリックをします。すると「アイテムの選択」メニューが表示されますので、タップします。「ツールボックスアイテムの選択画面」が表示されますので、[参照]ボタンをタップします。プロジェクトの\packages\winrtxamltoolkit.1.5.3.0\lib\netcore451にある、「WinRTXamlToolkit.dll」を選択します。[開く]をタップします。すると図3のようにWinRTXamlToolkitに含まれるコントロールが追加表示されます。
[OK]ボタンをタップすると図4のようにツールボックスにコントロールが追加されています。
画像ライブラリへのアクセス許可の設定
ピクチャライブラリ—内にフォルダを作成して設定用ファイルのXMLファイルを保存するため、画像ライブラリへのアクセス許可を設定します。
ソリューション・エクスプローラー内にある、Package.appxmanifestファイルをダブルクリックして開きます。[機能]タブ内の「機能:」にある、「画像ライブラリ」にチェックを付けてください。
時刻とともに、その日に起こった出来事をキャラクターが教えてくれるアプリ
『Windows 8.1+Visual Studio 2013によるWindows ストア・アプリ開発実例集』 第10回のサンプルプログラムです。
連載バックナンバー
Think ITメルマガ会員登録受付中
全文検索エンジンによるおすすめ記事
- Windows8のストア画面で手軽に時計を表示するサンプル
- 指定した目的地までの距離をキャラクターが教えてくれるアプリを作ろう
- キャラクターが声で天気予報を教えてくれるアプリを作る
- 近くにある病院の場所をキャラクターが音声で教えてくれるアプリを作る
- APIを使って土地の公示価格を調べるプログラムを作る
- Bing Maps上に地震の震源地を表示するプログラムを作る
- 現在位置近くの病院を素早く検索するサンプルプログラム
- フリーハンドで書いた住所を認識してBing Map上に表示する
- 現在位置の近くにある宿を検索するサンプルプログラム
- 画面上を流れる数字を暗算して正解を求めるアプリを作ろう(その2)