• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:【Flash馬鹿のJava】連番画像ファイルの読込について)

Flash馬鹿のJava連番画像ファイルの読込について

このQ&Aのポイント
  • Flash馬鹿のJava初心者が連番画像ファイルを一気に読み込む方法について質問しています。
  • Javaのコード例やAndroidのシミュレータの問題についても言及しています。
  • 連番の画像リソースの指定方法についての助言を求めています。

質問者が選んだベストアンサー

  • ベストアンサー
  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.1

まず、Javaでは、オブジェクトを入れる変数には、その実体ではなく、実体への参照になっている、ということに注意してください。 > private Bitmap image1; ではimage1という「矢印」が作られるだけ、その先は何も示していません(正確には、nullを示していますが) > image1 = BitmapFactory.decodeResource(r, R.drawable.image1); ここで、BitmapFactory~て作られたオブジェクトとimage1の矢印が結びつきます。 同様に > private ArrayList<Bitmap> image; もimageという矢印が出来るだけです。 ArrayListは存在していません。 その状態で >image.add(BitmapFactory.decodeResource(r, R.drawable.image1)); とやっても、存在しないArrayListにaddなどできないので、エラーになります。実際には例外が発生し、それが捕捉されないままでシミュレータの終了まで行ってしまうのでしょう。 ArrayListの使用例を参考書等で確認すれば、new でArrayListのインスタンスを作成しているのがわかると思います。 private ArrayList<Bitmap> image = new ArrayList<Bitmap> () ; > 連番の画像リソースを指定する方法("image" + i + ".png") Action Script等では、「数値」と「数字の入った文字列」の区別が曖昧で、上のように使うこともできますが、Javaなどでは、明確に区別しているので、上のようなことをする場合には、「数値」を「数字の入った文字列」に明示的に変換する必要があります。 例えば、こんな風に "image" + Integer.toString(i) + ".png" 一気にやろうとしないで、面倒でも、基礎からやったほうがいいと思います。 他の言語の知識は、時に学習の邪魔になります。

FlashBaka
質問者

お礼

非常に丁寧なご説明ありがとうございます。 なんとなく意味がわかってきたような気がします。 private List<Bitmap> image; image = new ArrayList<Bitmap>(); image.add(BitmapFactory.decodeResource(r, R.drawable.image01)); image.add(BitmapFactory.decodeResource(r, R.drawable.image02)); image.add(BitmapFactory.decodeResource(r, R.drawable.image03)); とすることで意味もわからずなんとなく動いていたのですが、ひとまずListとArrayListで宣言したときの違いから調べてみます・・・というかもっと基礎からやるべきなんでしょうけど・・・ このたびは初歩的な質問にも関わらずお答えいただき、ありがとうございました。

関連するQ&A