ポンクソフト

当たり判定(敵と弾)・スコア - Javaでシューティングゲームを作ろう

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

目次

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

今回の題材

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

ソースの解説

Shooting4クラス フィールド

int score;
scoreには得点が入ります。

Shooting4クラス initメソッド

score = 0;
得点を0点にクリアしています。Javaではint型の変数は宣言したときに0が入るので、無駄といえば無駄な処理なのですが。

Shooting4クラス runメソッド

if (tflag) {
  if (tx + 8 > ex && tx < ex + 32 &&
    ty + 8 > ey && ty < ey + 32) {
    score += 100;
    ex = (int)(Math.random() * (300 - 32));
    ey = -32;
    tflag = false;
  }
}
弾が発射されていれば、弾と敵との当たり判定を行います。条件が複雑ですが、ようするに弾と敵が一部分でも重なったときに当たったと見なしています。当たった場合は、得点を100点加算し、敵を消して画面最上部に戻し、弾を消します。

Shooting4クラス paintメソッド

gv.drawString("SCORE : " + String.valueOf(score), 10, 20);
得点を画面上部左に表示します。
drawStringはGraphicsオブジェクトのメソッドで文字列を描画します。描画座標は(10,20)ですが、y座標は文字の上ではなく下なので注意してください。
valueOfはjava.lang.Stringクラスのクラスメソッドで、引数を文字列にして返します。
前ページ Javaでシューティングゲームを作ろう TOP 次ページ
このエントリーをはてなブックマークに追加 そっか0

このページに関するコメントをどうぞ

お名前:



できるかな
2017/02/21 18:59

n3
Shooting6.javaには当たり判定がどこにも記述されていないのですがよろしければどこに、どういうふうに記述したらよいのか教えてもらえないでしょうか
2017/02/01 21:16

名無しのリーク
香川県ルー餃子のフジフーヅはバイトにパワハラの末指切断の重傷を負わせた犯罪企業
2017/01/29 05:08

名無しのリーク
香川県ルーちゃん餃子のフジフーヅはバイトにパワハラの末指切断の大けがを負わせた犯罪企業
2017/01/28 16:09

名無しのリーク
香川県ルー餃子のフジフーヅはバイトにパワハラの末指切断の重傷を負わせた犯罪企業
2017/01/26 03:03

名無しのリーク
香川県ルー餃子のフジフーヅはバイトにパワハラの末指切断の重傷を負わせた犯罪企業
2017/01/26 03:03

dead ライジング
javaってなに?
2017/01/24 14:29

すみませんが…
tflagの初期がfalseの状態で!tflagがfalseにあたるのがわかりません。
2017/01/05 11:35

missiy
ゲーム制作始めますか
2016/11/04 20:32

デトロイト
おーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
2016/10/12 17:56

残りを読む »