ポンクソフト

当たり判定(敵と弾)・スコア - 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

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

お名前:


モンクレール 代引
宇宙を見上げてみましょう。
宇宙には重い重い天体がいっぱいありますので重力波のもととなるものはいろいろとありますが、一番わかりやすいものが2つのブラックホールがお互いを中心としてグルグル回っているときの重力波です。
2017/07/16 01:43


gv.drawStringのgvがエラーが出る。なぜ?
2017/07/03 10:16

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

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

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

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

カシラ
敵画像はどこからダウンロードするんですか?
2016/08/27 16:55

通りすがりの旅人
どのページに飛べば作れますかね
((((;゚Д゚)))))))
2016/05/11 20:25


私も頑張る
2015/11/23 13:36

おっぱりー
敵が全方位からわくにはどうすればいいですか?
2014/10/23 15:28

残りを読む »