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

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

前のページ

2Dグラフィックスを駆使したゲームアプリのデザイン

 例として2Dグラフィックスを使ったゲームについて考えてみます。ゲーム内容としては,何かキャラクターを操作してポイントを稼ぐものを考えてみましょう。操作するキャラクター以外にもいくつかのキャラクターを登場させ,それらによって得点が増えたり,邪魔されたりするものにします。せっかくですから,スクロールのような表現に挑戦してみます。


2Dグラフィックスサンプル

 まずメインのキャラクターのデザインについてです。シンプルな2,3のスプライトの切り替えによってアニメーションするものとします。スプライトによる描画なので,ある程度のスピードは期待できます。頻繁に描画し並行してキー入力を処理しても,極端に大きなキャラクターでなければスムーズに動かせるでしょう。

 キャラクターは何でも構いません。今回は身近な素材として,前回使用した「づけ」を再び使用します。次にどのような動きをさせるか考えてみます。2Dなので縦横に移動させることができます。今回は画面内を左右に動かせるようにします。大きさは,ある程度画面内を移動することを考慮して,8×8の小さなものにしておきます。

 次に敵キャラクターです。ポイントを稼ぐゲームですから,ポイントが加算されるキャラクターと,稼ぎを邪魔するキャラクターを考えます。今回はこの2種類を用意して,片方のキャラクターを捕まえた場合には得点をプラスし,もう一方を捕まえた(触れた)場合にはゲームオーバーとします。

 次に考えるのが背景です。どんなゲームにするかで背景は異なります。例えばキャラクターがスペースシップのようなものであれば,背景は宇宙空間のようなものになりますし,キャラクターが何か走り回るようなものであれば,背景は地上になるかもしれません。今回は「づけ」なので,地上を走り回っているようなものにします。

 登場キャラクターが決まって,どんな動作をさせるかがだいたい決まりました。しかしこれだけではスクロールしているような表現になりません。そこで背景の一部に画面の下から登場して画面の上に消えていく物体を用意します。その物体が画面上に消えていく表現をさせることでスクロール感を出すことにします。

 以上の設計をもとに,実際にJavaアプリを作成していきます。

ゲームアプリの実装例

 「づけ」はスプライトデータで用意します。敵キャラもスプライトで用意します。敵キャラは1つのスプライトデータを流用して,パレット切り替えで赤と黒の2種類を表現します。赤に触れると得点し,黒に触れるとゲームオーバーとします。

 背景は塗りつぶし矩形を2つ用意します。1つは地上を表現し,もう1つは空を表現します。最後にスクロール感を出すためのデータを用意します。スプライトをいくつも用意するのは手間がかかるので,このデータはPNGファイルで用意します。ここでは地上の物体ということで木にして,画面の左右の端を流れてやがて消えていくような表現にしてみます。

 操作は左右キーで「づけ」を操作します。敵キャラクタースプライトデータは,画面内にランダムでいくつも表示して画面下から出現し,画面上方向に直線移動させます。ただし「づけ」があまり思い通りに動きすぎては簡単すぎて面白くないゲームになってしまいそうなので,「づけ」はある範囲で絶えず左右に揺れながら移動することにし,キー操作でその揺れの方向がじわりと変化するようにします。触れてはいけない敵キャラクターをかわすのにも一苦労となるような実装とします。

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

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

Copyright © ITmedia, Inc. All Rights Reserved.



モバイルショップ

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

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