自機特殊弾

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
華穂

自機特殊弾

#1

投稿記事 by 華穂 » 16年前

こんばんわ。
何度も何度もご迷惑をおかけします。

今回は、自機のちょっとした特殊な弾についてどうしてもわからない
ところがあるため、ぜひとも皆さまからのご指南・アドバイスをいただき
たく、こんな真夜中ですが書きこませていただきました。(土下座)


分からないというか・・これはどうすればいいのだろう?というもので、
それが今回のタイトルにある特殊弾というものです。
特殊弾というのは、ステージのクリア特典で使える『チャージショット』
とのことです。

今回・・というか、今これに手を焼かされています。




☆チャージショットについて
①ショットは貫通するもので、雑魚敵は1発で消滅する。

②画面下、128X640のところに設置された(?)ステータス画面に
それぞれチャージバーとチャージゲージの画像を配置。

③ゲージが満タンになる時間は4秒かかり、その間自機は光を放つ。(これは、
自機の画像とは別に、もうひとつ画像を用意しています。(自機が光っている)

④4秒でチャージは完了、QKeyを押すことで発射できる(直進)

⑤その増え方・・つまり、ステータス画面側へと設置したチャージバー右に動く・
勝手に(発射することができるまで)溜まるのはオート(AOUT)とする。



というものです。
①に関しては、敵と接触した場合に弾のフラグを0しなければよいということは分かります。
しかし、ここで分からないのが、どのようにしてオートによるチャージのゲージを満タンにする
かということです。(ゲージの大きさは、縦32・横256)
4秒ということはおそらく『GetNowCount();関数』を使うのでは?と考えたのですが、それをどう書いて
いいか分からず・・また、ステータス画面に設置されたチャージバーのオートの移動に関しても
どう書いていいかわからず、こちらでアドバイス・ご指南をいただこうと思いました。


また、チャージ中の自機の光る画像と、普段の自機の画像との入れ替えはどうしればいいのでしょうか?
頭の中で、なんとなくなんですが、『IF文』を使用すれば画像に関しては大丈夫じゃないだろうかとは
思うのですが・・。




どうぞ、よろしくお願いします。

array

Re:自機特殊弾

#2

投稿記事 by array » 16年前

> 4秒ということはおそらく『GetNowCount();関数』を使うのでは?と考えたのですが、それをどう書いて

これは違うと思います。可能かもしれませんが、パソコンの性能によって処理速度が異なったとき、GetNowCount()関数を使っていると、どのパソコンでも平等に4秒で貯まってしまいます。これでは、パソコンごとにゲームが違う動作をしてしまいますのでFPS制御を用いたほうが良いです。

ゲームはFPS制御しているので(基本的に)1秒間に60回の処理を行っています。(ある理由から60回です。龍神録のFPS制御を読めば書いてあると思います)

なので「 int count = 0 」を用意し「 count++ 」とすれば、1秒でcountの値は60になっています。
ということは、countが240の時、4秒経過したことになります。


話は変わりますが、チャージ系は「現在のチャージゲージの値」を用意し、その値を4秒でMAXになるよう計算して加算していく方が良いかなと思います。

例) 「現在のチャージゲージの値」+= 「最大ゲージ」/ 240.0;

簡単に書くと、これで大体4秒で最大ゲージになると思います。int型だと計算値の切捨てで加算値が0なのでflot型を使うか、他の方法を考えるかした方がいいです。

夢夢

Re:自機特殊弾

#3

投稿記事 by 夢夢 » 16年前

>チャージ中の自機の光る画像と、普段の自機の画像との入れ替えはどうしればいいのでしょうか?
別途、光るエフェクト画像をアニメーションで自機の上に表示させるだけでいいと思います。

華穂

Re:自機特殊弾

#4

投稿記事 by 華穂 » 16年前

なるほど、『GetNowCount();関数』ではうまくいかないのですね。
私も初めはそれを使って作ってみたのですが、どうもうまくいかず「??」
となりました。

array様、わかりやすいアドバイスありがとうございます。
計算のほうは、実際にいろいろと調べてみて頑張っていきます。
また実際に、龍神録のほうを見てもう少し勉強したいと思います。


夢夢様も、アドバイスありがとうございました。
確かに、アニメーションを使えば出来るかもしれませんね。
アニメーションは使ったことがまだないので、これからこちらのサイトを
見て作ってみたいと思います。



お二方、どうもありがとうございました。
がんばってチャージ攻撃のソースを作っていきたいと思います。

ご協力・わかりやすいアドバイス、ありがとうございました。

閉鎖

“C言語何でも質問掲示板” へ戻る