忍者ブログ
まったくのプログラミング素人の筆者がC++/HSPを使用してSTG(シューティングゲーム)を作っていく過程を書くブログでしたが最近は脱線気味。プログラミング以外にも、ゲーム関連の記事、日々の戯言など。
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

先日作製したホーミングレーザーをロックオンで発射出来るようにして敵の数も増やしてみました。
こんな感じ↓

とりあえず丸い緑の範囲に敵が入るとロックオンされてレーザーが撃てるようになっています。

プログラムはコチラ↓
http://blog.cnobi.jp/v1/blog/user/63629cf35d5259ece1529ed13f0745b1/1263925101
ですが!このプログラム、グチャグチャな上にメイン関数に全ての処理を書いてしまっているので
あまり参考にしない方が良いかもしれません(汗)

今回、ホーミングの範囲を円形にしたかったので、敵との当たり判定に円の判定を使ってみました。
当たり判定の作製にあたっては、C言語何でも質問サイトさんのコチラのページを参考に
させて頂きました。
考え方は上記のページに解りやすく書いてあるので要点だけ。
enemy[0]とenemy[1]の判定をするとします。
で、
enemy[0].range=100;
enemy[1].range=180;
このように、それぞれの当たり判定の半径を設定します。

x=enemy[0].x-enemy[1].x;
y=enemy[0].y-enemy[1].y;
x軸とy軸の計算をして・・・

if(x*x+y*y<range*range)
x*x+y*yがrange*range以下なら当たってると判定出来るんです。

凄くシンプルで良い判定方法やな~と思ったのですが、この判定方法だと長方形の敵なんかには
使えないんですよね・・・
でも、判定する円の数を増やしたりすれば対処出来そうな気もするので、その辺は今後の課題って
事で、とりあえずホーミングレーザーを蒼穹紅蓮隊のようにボタンを押している間はロックオンして
ボタンを放すと発射するように変更してみたいと思います。
後、グチャグチャなプログラムを綺麗にして関数化もしたいです^^;

ベジェ曲線を使ってホーミングレーザーを作ってみる その10へ
PR
この記事にコメントする
お名前
タイトル
メールアドレス
URL
コメント
パスワード   Vodafone絵文字 i-mode絵文字 Ezweb絵文字
無題
おおお~っ!!カッコいいですね~♪

中型の、耐久力の設定されている敵などの場合は
1体でenemy0~8を割り当てるような処理に
なるんでしょうか?この先の進化が楽しみです。
(^^)
荒作 2010/01/21(Thu)01:27:42 編集
無題
荒作さん>
ありがとうございます^^
耐久力のある敵に対する処理は今後の課題なんですよねー。耐久力以上にロックオン出来てもおかしいですし・・・
思った以上にヤヤコシイなぁ・・・ってのが率直な換装です^^;
kt. 2010/01/21(Thu)03:22:11 編集
この記事へのトラックバック
この記事にトラックバックする:
Twitter
カレンダー
03 2024/04 05
S M T W T F S
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
最新コメント
[04/20 kt.]
[04/19 うぇむ]
[11/24 kt.]
[11/21 NONAME]
[11/24 kt.]
プロフィール
HN:
kt.
性別:
男性
自己紹介:
プログラミング経験は昔ファミリーベーシックでちょっとさわったくらい。
好きなSTGは、怒首領蜂大往生、エスプガルーダ(2)等の弾幕STGやら雷電シリーズなんかの非弾幕、バトルガレッガ、グラディウスシリーズ、R-TYPE等、STGなら何でも好きです。
音楽がカッコイイSTGが特に好きで、並木学氏は最高!
ブログ内検索
忍者ブログ [PR]