第2回 カードゲームをつくってみよう90Xi専用ゲームiアプリ開発講座(2/3 ページ)

» 2004年10月25日 15時25分 公開
[澤橋辰典・武上将樹,ITmedia]

画像を表示してみよう

 900iシリーズの大容量メモリを活かすアプリ作りといえば、やはり、大量のリソースを使用してリッチでド派手な物を作るのが醍醐味。今度は画像の表示方法を紹介しよう。

 ゲームのメイン処理をコンストラクタで行うのはよくないので、mainメソッドを作成し、そこですべての処理を行うことにする。

 メインクラスのstartメソッドでクラスCのmainメソッドを呼ぶ。Image型の配列を用意する。

  static final Image[] img = new Image[3];

 次に、上で用意したImageに画像を格納して使用できる状態にする。

  static final void main() {
    try {
      for (int i=0;i<3;i++) {
        MediaImage mi = MediaManager.getImage("resource:///"+ i +".gif");
        mi.use();
        img[i] = mi.getImage();
      }
    } catch (IOException e) {
      System.out.println("画像の取得に失敗!");
    }
    
    Display.setCurrent(_canvas);
  }

 リソースフォルダ(res)に連番で名前を付けたgifファイル(0.gif〜8.gif)を入れておく。

  MediaImage mi = MediaManager.getImage("resource:///"+ i +".gif");

 MediaManagerクラスのgetImageメソッドの引数にロケーション(リソースの場所)を指定すると、MediaImageが返って来る。resフォルダを指定する場合には、文字列"resource:///(ファイル名)"を指定する。

 スラッシュは3つ付ける。上記例のように、ファイル名を数字で付け、forループで繰り返して取得するといい。

 MediaImage.use()でそのメディアイメージの使用開始を宣言し、実際に使用できる形式に変換されロードされる。MediaImage.getImage()でImageオブジェクトを取得する。

 後は、paintメソッド内で第1引数をImageオブジェクトとしてdrawImageを実行すれば画像が表示される。

  for (int i=0;i<3;i++) {
    g.drawImage(img[i], 20+(i%3*50), 20+(i/3*40));
  }

 画像の取得に失敗すると、IOExceptionが発生し、catch節の中の処理が実行される。試しに画像をリソースフォルダに入れずにビルド、実行すると、エミュレータのコンソール画面に「画像の取得に失敗!」と表示されることを確認しよう。

Copyright © ITmedia, Inc. All Rights Reserved.

アクセストップ10

2026年02月10日 更新
  1. 「iPhoneの調子が悪いです」の文言、なぜアイホンのFAQに? 実はAppleと深く関係 (2026年02月08日)
  2. 総務省有識者会議が「手のひら返し」な我が国への示唆――日本を国際標準から遅れさせたのは自らの愚策のせい (2026年02月08日)
  3. 「東京アプリ」で1.1万円分をゲット、お得な交換先はどこ? dポイント10%増量+楽天ペイ抽選が狙い目か (2026年02月05日)
  4. KDDI、楽天モバイルとの「ローミング重複エリア」を順次終了 松田社長が言及 (2026年02月06日)
  5. 楽天モバイル、1000万回線突破も残る「通信品質」の課題 5G SAの早期導入とKDDIローミング再延長が焦点に (2026年02月07日)
  6. Googleが台湾のPixel開発拠点を公開 「10 Pro Fold」ヒンジ開発の裏側、“7年サポート”を支える耐久テスト (2026年02月09日)
  7. 東京アプリ、PayPayがポイント交換先に追加される可能性は? 広報に確認した (2026年02月05日)
  8. ソフトバンク、短期解約を繰り返す「ホッピングユーザー」を抑制 その理由は? (2026年02月09日)
  9. 東京アプリ、PayPayとWAON POINTをポイント交換先に追加 交換時期は「決まり次第案内」 (2026年02月09日)
  10. 「小型iPhone SEを復活させて」──手放せない理由SNSで話題 どこが“ちょうどいい”と評価されるのか (2025年11月29日)
最新トピックスPR

過去記事カレンダー

2026年