チャージショットを実装したい

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

チャージショットを実装したい

#1

投稿記事 by Ex » 14年前

現在シューティングゲームを作っています。
チャージショットを実装したいのですが、いまいち原理が分かりません。
Zが押されると変数powerをプラスし、Zを放すと攻撃力がpowerの弾を発射させたいです。
考え方を教えてもらえるとありがたいです。
お願いします。


画像

ゆーずぃ

Re:チャージショットを実装したい

#2

投稿記事 by ゆーずぃ » 14年前

その考え方でいいとおもうのですが・・?
恐らく雑魚は弾1発、ボスはx発で倒せるように設定しているでしょうから、zの数値 × 弾数 を当たったという判定にする、というくらいですか。
強いて言えばzが強すぎないように z>MAX になったらそれ以上プラスしないようにするとかですね。

なんか私の答えがずれている気もするので、もうちょっと詳しく質問をして頂けるとありがたいです;

Ex

Re:チャージショットを実装したい

#3

投稿記事 by Ex » 14年前

すいません 考え方というのは少し違いました
正確に言うと、コードの組み方が分らないです
例えば、(flag=1 で弾発射)
if(Key[KEY_INPUT_Z]==1){ power++; if(Key[KEY_INPUT_Z==0){ flag=1; }}
とすると、当然ですが発射されないんです。
要するに、わからないところというのはここです。

dic

Re:チャージショットを実装したい

#4

投稿記事 by dic » 14年前

前フレームのpowerが0より大きく 現在のpowerが0のとき発射
と考えたですけどどうでしょうかね
ややこしいですけど

あたっしゅ

Re:チャージショットを実装したい

#5

投稿記事 by あたっしゅ » 14年前

DxLib 使ってんのか。

if(Key[KEY_INPUT_Z]==1){ power++; }
if(Key[KEY_INPUT_Z]==0){
flag=1;
power=0;
}

こんな感じでどうでしょう。

Ex

Re:チャージショットを実装したい

#6

投稿記事 by Ex » 14年前

回答早いww
if文を2つに分けるんですか・・・ よく考えたらif文1つじゃ無理ですね
とりあえず試験的にコードを組んだらうまく動作しました。
ズバリな回答ありがとうございます。

あたっしゅ

Re:チャージショットを実装したい

#7

投稿記事 by あたっしゅ » 14年前

上のじゃだめだ。
せっかくたまった power をクリアしちゃう。

int pushed_z=0;

と宣言しておいて

if(Key[KEY_INPUT_Z]==1){ pushed_z++; }
if(Key[KEY_INPUT_Z]==0){
flag=1;
power=pushed_z;
pushed_z=0;
}


ま、うまくいったようなので、いいか。

閉鎖

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