第5回 スクラッチパッドへのデータ保存とダウンロードファイルの処理:90Xi専用ゲームiアプリ開発講座(2/4 ページ)
900i専用のトレーディングカードゲームを開発するため、今回は携帯のスクラッチパッドを利用したデータの保存と、効果的なデータのダウンロード方法を紹介する。
スクラッチパッドの設計
今回は、カードゲーム用データ保存にスクラッチパッドを利用するのだが、ゲームに限らず、スクラッチパッド(表内はSPと表記)を使用するアプリを作る場合、どの位置にどのようなデータを置くかを示すメモリマップを作成するとわかりやすい。今回は以下のようにメモリマップを作成した。
状態 | SP位置 |
---|---|
初回起動のフラグ | 0 |
デッキのカード | 1〜 3 |
所持カードフラグ | 4〜75 |
イメージのサイズ | 76〜 |
イメージのデータ | 200〜 |
このメモリマップは、1回きりではなく繰り返し何度も使用するものなので、スクラッチパッドのロケーションと位置を、以下のように定数として設定する。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
ネットワークを使った画像のダウンロード
カードゲームでは、使用できるカードが多ければ多いほど、ゲームのバリエーションが広がる。たくさんのカードを生成していくため、ネットワークを利用して効率的に画像をダウンロードしていくことも重要だ。ネットワークからデータを読み込むには以下のように記述する。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
Connector.open()の第一引数には読み込みたいURLを指定する。IApplication.getSourceURL()は、サーバに配置されているそのアプリのパスをString型で返してくれる。例えば、アプリの配置URLが以下の通りだとする。
http://example.com/card-appli/card.jar
プログラム中でgetSourceURL()を使うと、"http://example.com/card-appli/"が返ってくる。アプリ配置場所にresフォルダを作成し、gifファイルを置いておけばいい。第二引数はHttpConnection.setRequestMethod()でHttpConnection.getLength()で取得したデータのサイズを得られる。HttpConnectionから得たInputStreamから、read(byte[] b)を実行することで、バイト配列のbに、gifファイルのデータが格納される。
Copyright © ITmedia, Inc. All Rights Reserved.