ポンクソフト

当たり判定(自機と敵)・シーン切り替え - Javaでシューティングゲームを作ろう

前ページ Javaでシューティングゲームを作ろう TOP 次ページ

目次

  1. Javaでシューティングゲームを作ろう
  2. 自機の左右移動
  3. 弾発射・はみ出しチェック
  4. 敵登場・仮想画面
  5. 当たり判定(敵と弾)・スコア
  6. 当たり判定(自機と敵)・シーン切り替え
  7. クラス化
  8. 継承・Vectorによるキャラ管理・サウンド
  9. パワーアップ・複数種類の敵
  10. ペンギンシューティング

今回の題材

プレイしてみる
一式ダウンロード

ソースの解説

Shooting5クラス フィールド

int scene;
大抵のゲームはゲーム中の状態だけではなく、タイトル画面・ゲームオーバー画面など、複数のシーンを持っています。そのシーンを管理するのが変数sceneです。この変数が0のときタイトル画面、1のときゲーム中、2のときゲームオーバー画面になります。

Shooting5クラス initメソッド

scene = 0;
最初はタイトル画面から始まるのでシーン変数を0に設定しています。

Shooting5クラス runメソッド

シーンを分けたことや、ゲームメイン処理が長くなってきたことから、それぞれのシーンに応じた処理をメソッド化しました。
runメソッドではシーン変数に応じて上記のメソッドのいずれかを呼び出しています。

Shooting5クラス gameTitleメソッド

タイトル画面の処理を行います。
if (keyEnter) scene = 1;
エンターキーが押されたらシーン変数をゲーム中状態にします。
gv.setFont(new Font("Arial", Font.BOLD, 28));
タイトル画面用のフォントをフォント名「Arial」、太字、28ポイントに設定しています。

Shooting5クラス gameMainメソッド

ゲーム中の処理を行います。
if (jx + 32 > ex && jx < ex + 32 &&
  jy + 32 > ey && jy < ey + 32) {
  scene = 2;
}
自機と敵の当たり判定を行います。自機と敵が一部分でも重なったときに当たったと判定します。弾と敵との当たり判定と同じです。当たった場合は、シーン変数をゲームオーバー画面にします。

Shooting5クラス gameOverメソッド

ゲームオーバー画面の処理を行います。
前ページ Javaでシューティングゲームを作ろう TOP 次ページ
このエントリーをはてなブックマークに追加 そっか0