ページ 1 / 1
チャージショットを実装したい
Posted: 2010年10月22日(金) 17:24
by Ex
現在シューティングゲームを作っています。
チャージショットを実装したいのですが、いまいち原理が分かりません。
Zが押されると変数powerをプラスし、Zを放すと攻撃力がpowerの弾を発射させたいです。
考え方を教えてもらえるとありがたいです。
お願いします。

Re:チャージショットを実装したい
Posted: 2010年10月22日(金) 18:35
by ゆーずぃ
その考え方でいいとおもうのですが・・?
恐らく雑魚は弾1発、ボスはx発で倒せるように設定しているでしょうから、zの数値 × 弾数 を当たったという判定にする、というくらいですか。
強いて言えばzが強すぎないように z>MAX になったらそれ以上プラスしないようにするとかですね。
なんか私の答えがずれている気もするので、もうちょっと詳しく質問をして頂けるとありがたいです;
Re:チャージショットを実装したい
Posted: 2010年10月23日(土) 08:37
by Ex
すいません 考え方というのは少し違いました
正確に言うと、コードの組み方が分らないです
例えば、(flag=1 で弾発射)
if(Key[KEY_INPUT_Z]==1){ power++; if(Key[KEY_INPUT_Z==0){ flag=1; }}
とすると、当然ですが発射されないんです。
要するに、わからないところというのはここです。
Re:チャージショットを実装したい
Posted: 2010年10月23日(土) 08:41
by dic
前フレームのpowerが0より大きく 現在のpowerが0のとき発射
と考えたですけどどうでしょうかね
ややこしいですけど
Re:チャージショットを実装したい
Posted: 2010年10月23日(土) 09:14
by あたっしゅ
DxLib 使ってんのか。
if(Key[KEY_INPUT_Z]==1){ power++; }
if(Key[KEY_INPUT_Z]==0){
flag=1;
power=0;
}
こんな感じでどうでしょう。
Re:チャージショットを実装したい
Posted: 2010年10月23日(土) 09:37
by Ex
回答早いww
if文を2つに分けるんですか・・・ よく考えたらif文1つじゃ無理ですね
とりあえず試験的にコードを組んだらうまく動作しました。
ズバリな回答ありがとうございます。
Re:チャージショットを実装したい
Posted: 2010年10月23日(土) 09:51
by あたっしゅ
上のじゃだめだ。
せっかくたまった 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;
}
ま、うまくいったようなので、いいか。