第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年09月19日 更新
  1. 出そろった「iPhone 18 Pro」の価格を4キャリアで比較 ソフトバンクが衝撃の安さ、楽天モバイルが異例の施策 (2026年09月13日)
  2. IIJに聞く“eSIMサポート”の裏側 「つながらない」「消した」なぜ起こる? 現場が打つ次の一手 (2026年09月18日)
  3. Androidでおサイフケータイを使いたくない理由 初期化で消えないデータと売却時の落とし穴 (2026年09月19日)
  4. 「iPhone 18 Pro」は何が進化した? 「iPhone 17/17 Pro」とスペックを比較 全て20万円超えの価格が悩ましい (2026年09月10日)
  5. iPhone Duoを「開いたままでも片手で持てる」ケース登場 ESRが新製品発表、日本で急成長の理由とは (2026年09月17日)
  6. フォルダブル歴5年の筆者も驚いた「iPhone Duo」の完成度 ソフトウェアの力で再定義できるか (2026年09月19日)
  7. 「Suicaのペンギン」卒業騒動にまつわる背景と誤解 JR東日本に聞いた (2025年11月14日)
  8. JR東日本「分かりにくい」新幹線券売機を改善へ なぜ、スマホではなく「駅での最短1分購入」を実現? (2026年07月04日)
  9. 15日配信「iOS 27」の新機能まとめ Siri AIの恩恵を受けられる機種は? 画像編集やSafariにも注目 (2026年09月14日)
  10. ドコモのiPhone、iOS 27でRCSに対応 3キャリアのiPhoneとAndroidで利用可能に (2026年09月17日)
最新トピックスPR

過去記事カレンダー