龍神録プログラミングの館のコードを改造しているのですが、弾幕が自爆する(?)時間はendtimeで決めてるんですよね?
それを弾幕ごとに時間を決めるにはどうすればよいですか?
endtimeを見ると99*60って書いてあってこれは「99秒で次弾幕へ」ってことですよね?
ここを改造すればいいと思ってjikanという変数を用意し、
static int jikan;
if(boss.knd==0)//最初の弾幕の残り時間は
jikan=10;//10秒
else if(boss.knd==1)//次の弾幕の残り時間は
jikan=1;//1秒
boss.endtime=jikan*60
と改造したところ最初の弾幕(boss.knd==0)と次の弾幕(boss.knd==1)の自爆する時間は同じでした(たぶん)。
jikanでendtimeを変更することは成功したみたいですが、jikanの値は変わってないようです。
どう改造したらうまくいくですか?
弾幕それぞれの残り時間
-
- 記事: 44
- 登録日時: 11年前
Re: 弾幕それぞれの残り時間
うーん、確かにその部分だけ見ると正しい気がしますね。
別の所に原因があるように思います。
boss.kndが0と1以外の値になるような場所があったり、
載せてくれたプログラムが実は実行後一回しか通らないような場所であるがために、
正しく動かない可能性があります。
何か心当たりがあれば是非その部分のプログラムも載せていただけると嬉しいです(*´∀`)
別の所に原因があるように思います。
boss.kndが0と1以外の値になるような場所があったり、
載せてくれたプログラムが実は実行後一回しか通らないような場所であるがために、
正しく動かない可能性があります。
何か心当たりがあれば是非その部分のプログラムも載せていただけると嬉しいです(*´∀`)
ただの超絶右留斗羅天才プログラマーです。同人ゲーム制作進捗度:7%
- Dixq (管理人)
- 管理人
- 記事: 1661
- 登録日時: 13年前
- 住所: 北海道札幌市
- 連絡を取る:
Re: 弾幕それぞれの残り時間
boss_shot_bulletH001()
等の弾幕の関数内の先頭で.endtimeをセットしてはいかがですか?(最初の一度しか通らないように注意)
等の弾幕の関数内の先頭で.endtimeをセットしてはいかがですか?(最初の一度しか通らないように注意)
Re: 弾幕それぞれの残り時間
>>載せてくれたプログラムが実は実行後一回しか通らないような場所であるがために、
>>正しく動かない可能性があります。
ありがとうございました。
おそらくこれが原因でした。boss_shot_main()に弾幕が登録されるたびにi++してif(i==0){略 として解決できました。
しかし、これだと弾幕が増えるたびにコードが長くなることに…
>>boss_shot_bulletH001()
>>等の弾幕の関数内の先頭で.endtimeをセットしてはいかがですか?(最初の一度しか通らないように注意)
龍神録プログラミングの館のコードを改造しているだけでC++は理解できてないので実装方法の検討つきませんが、頑張ってみます。
ありがとうございました。
>>正しく動かない可能性があります。
ありがとうございました。
おそらくこれが原因でした。boss_shot_main()に弾幕が登録されるたびにi++してif(i==0){略 として解決できました。
しかし、これだと弾幕が増えるたびにコードが長くなることに…
>>boss_shot_bulletH001()
>>等の弾幕の関数内の先頭で.endtimeをセットしてはいかがですか?(最初の一度しか通らないように注意)
龍神録プログラミングの館のコードを改造しているだけでC++は理解できてないので実装方法の検討つきませんが、頑張ってみます。
ありがとうございました。