Javaアプリ事始め 第6回:
2Dグラフィックスしよう その2(1/3)

本連載では,J-フォンのパケット通信対応51シリーズのJavaアプリプログラミングを解説。今回は2Dスプライトを使ったゲームを作成してみる。(毎週金曜日更新)

【国内記事】 2002年4月12日更新

 Javaアプリの2Dグラフィックスは,前回説明したとおり,大きく分けて画像や図形の単純な描画と,スプライトを使った高度な描画の2種類があります。

 前回は高度なスプライト描画を用いた2Dグラフィックスアプリを紹介しましたが,今回はその応用として単純な描画と高度な描画の双方を組み合わせた,もう少し手の込んだJavaアプリを紹介します。2Dグラフィックスはゲームプログラミングに向いていますので,その例として今回はゲームアプリについて解説します。

 まずは2Dグラフィックスについておさらいしておきます。スプライトを使った高度な描画は,スプライトデータを用意し,そのデータに対して回転や反転などの処理を施して画面に表示するものでした。今回は前回解説しなかった単純な描画について解説します。

 Javaアプリの単純な画像や図形の描画とは,実画面に専用の図形描画命令で描画する方法です。図形は以下のものが使用可能です。
矩形
矩形は普通の矩形以外に,角を丸めた矩形も表示できます。塗りつぶし矩形も可能です
円もいわゆる円だけでなく楕円が指定できます
線は直線と曲線が使用可能です。矩形も直線が4本つながったものと考えれば直線だけでも表現できます
文字列
文字列は半角・全角両方描画でき,また曲線に沿った文字列の描画も可能です
画像
本文参照

 Javaアプリで使用できる画像フォーマットは,PNG(Portable Network Graphics)ファイルとJPEG(Joint Photographic Expert Group)ファイル,MNG(Multiple-image Network Graphics)ファイルです。画像の描画は,画像ファイルをそのまま画面に描画するため,あらかじめ表示したいイメージを画像ファイルとして作成しておく必要があります。

 Javaアプリでは透過PNGファイルも表示できます。透過属性の部分は透けて表示されるので,複数の画像や図形の簡単な重ね合わせをする際に便利です。

 なおPNGファイルの表示可能色数は最大256色です。。PNGファイルとしては1画素につき6万5536色が設定できますが,表示する際には端末で256色に減色されてしまいます。そのため,多色数を利用したい場合にはJPEGファイルが適しています。24ビットのJPEGファイルも利用できますが,表示可能色数は端末によっても若干異なることがあるので注意が必要です。JPEGには透過属性はないので,簡単な重ね合わせが必要な場合には透過PNGファイルを用意してください。

 MNGとは,PNGやJPEGでもアニメーションGIFのようなアニメーションを可能にするフォーマットです。PNGとJPEGを混在させることも可能ですし,アニメーションの順番の変更や繰り返しの指定などの多彩な機能があります。詳細はMNGのWebサイト(英語)を参照してください。

 2Dグラフィックスについて一通り解説したところで,それらを使った具体的な実装について考えてみます。高度な2Dグラフィックスを表現するためにはスプライトの使用が不可欠です。しかしスプライトはデータの準備や描画時の煩雑さが伴うため,実際には思ったほどお手軽に使えるものではありません。スプライト以外の2Dグラフィックスと併用してデータ作成の手間を省き,その分ロジック部分などに労力を注ぐべきです。

前のページ | 1/3 | 次のページ

[コネクト 伊藤広明,ITmedia]

Copyright © ITmedia, Inc. All Rights Reserved.



モバイルショップ

最新CPU搭載パソコンはドスパラで!!
第3世代インテルCoreプロセッサー搭載PC ドスパラはスピード出荷でお届けします!!

最新スペック搭載ゲームパソコン
高性能でゲームが快適なのは
ドスパラゲームパソコンガレリア!