忍者ブログ
Admin*Write*Comment
35歳からのC言語ゲームプログラミング
[108]  [107]  [106]  [105]  [104]  [103]  [102]  [101]  [100]  [99]  [98
×

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

回転砲台実装 ~その5~

引き続き回転砲台の実装を進めています。
今回はコアを破壊すると他の砲台が連鎖して壊れてゆく処理を作りました。

まず波動砲と敵の当たり判定の関数に、当たったキャラが回転砲台のコアの場合、回転砲台が連鎖爆発する関数へ飛ぶように命令を書き加えます。

その上で連鎖爆発の関数( GondolaDest ( void ) )を 書いてゆきます。
敵キャラは破壊されるとDest_Timeと言う変数に破壊された時間が記録されます。
画面描画関数はこの変数に0以外が入っていた場合、本来表示するキャラ番号を無視して爆発アニメーションを表示するようになっています。
爆発アニメーションは現在時刻と変数に入った時刻を比較して進行し、終るとそのキャラの有効フラグが降りて敵はプログラム上存在しなくなるわけです。

で、連鎖爆発させる関数はこのシステムを利用します。
コアが破壊された場合、回転砲台のコアよりの端から数十ミリ秒ずつ未来の時刻をDest_Timeに入れてゆくのです。

47323814.PNG










たったこれだけで、ドカン、ドカン、ドカンと端から爆発させる事が出来ます。

あとは画面描画関数を少し書き換える必要があります。
Dest_Timeが0ならキャラ表示、0以外なら現在時刻との差を求めて爆発アニメーションとなっているため、未来の時刻だとキャラも爆発も表示されなくなります。
つまり、コアを破壊した瞬間全ての砲台が画面から消え、少し遅れて爆発のアニメーションだけが表示されてしまうわけです。
そこで、変数が0か未来の時刻ならキャラ表示、そうじゃなければ爆発アニメって感じに分岐を変えてやれば理想通りに爆発する直前まで各砲台は表示されるようになります。

f2310951.PNG










花火のようにきれいにグルリと円を描いて爆発してゆきます。
ちょっと感動・・・(涙)




PR
この記事にコメントする
お名前
タイトル
メール
URL
コメント
文字色
パスワード   Vodafone絵文字 i-mode絵文字 Ezweb絵文字
secret
この記事へのトラックバック
この記事にトラックバックする:
  • ABOUT
やってやれないことはないっ!たぶん・・・
  • カレンダー
06 2025/07 08
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 31
  • 最新コメント
[11/09 CALL MY NAME]
[11/09 erin]
[08/18 うずランド]
[07/11 うずランド]
[06/23 うずランド]
  • プロフィール
HN:
Call my name
年齢:
51
性別:
男性
誕生日:
1974/05/22
職業:
スロ屋店員
趣味:
いろいろ
自己紹介:
やる気だけはあるつもりです。
はい。
  • バーコード
  • ブログ内検索
  • カウンター
  • アクセス解析
Copyright © 35歳からのC言語ゲームプログラミング All Rights Reserved.*Powered by NinjaBlog
Graphics By R-C free web graphics*material by 工房たま素材館*Template by Kaie
忍者ブログ [PR]