龍神録プログラミングの館を参考にしています。
2面以降の作り方がわかりません。
2面以降はmain.cppの、func_stateの値10を作って、
case 100://通常処理
enter_func_tm("最初");
calc_ch(); enter_func_tm("キャラ計算");
ch_move(); enter_func_tm("キャラ移動");
cshot_main(); enter_func_tm("自機ショットメイン");
enemy_main(); enter_func_tm("敵処理メイン");
boss_shot_main();enter_func_tm("ボスショットメイン");
shot_main(); enter_func_tm("ショットメイン");
out_main(); enter_func_tm("当たり判定");
effect_main(); enter_func_tm("エフェクトメイン");
calc_main(); enter_func_tm("計算メイン");
graph_main(); enter_func_tm("描画メイン");
bgm_main(); enter_func_tm("BGMメイン");
if(boss.flag==0)
stage_count++;
の次に、
if(stage_count==2500)
func_state=10;
と繋げて、func_state=10の処理を一面を作ったときと同じようにしたら良いのでしょうか?
2面以降の作り方について
Re:2面以降の作り方について
> MATTARIさん
こんにちは。
コードや変数が複雑になる事を避ける為にいくつか犠牲にして紹介している部分があるので、
残念ながらどこかのパラメータを変えただけでは2面は作れないんですよね。
ただし、基本的な機能は揃っているので、まずは、初期化関数で何を初期化しなければならないか見極め、
何のパラメータを変えなければならないか考えてみてください。
最初に、1面をクリアすると、
スコアデータ、残機数データなどの初期化してはいけないデータ以外を初期化して、
1面を繰り返す仕様にして見て下さい。
そうすれば2面の作り方が次第に見えてくるのではないかと思います。
例えば2面になった時は、中ボスやラスボスが出てくるタイミング、敵のスクリプトを読むファイル、
持たせる弾幕関数ポインタなどが変わりますよね。
少しずつそれを変更するようにしてやり、徐々に2面が出来るようにして見て下さい。
全部いっぺんに変更すると不具合が出た時にどこが悪いのか解らないかもしれませんが、このように少しずつ試せばその危険性は回避できると思います。
こんにちは。
コードや変数が複雑になる事を避ける為にいくつか犠牲にして紹介している部分があるので、
残念ながらどこかのパラメータを変えただけでは2面は作れないんですよね。
ただし、基本的な機能は揃っているので、まずは、初期化関数で何を初期化しなければならないか見極め、
何のパラメータを変えなければならないか考えてみてください。
最初に、1面をクリアすると、
スコアデータ、残機数データなどの初期化してはいけないデータ以外を初期化して、
1面を繰り返す仕様にして見て下さい。
そうすれば2面の作り方が次第に見えてくるのではないかと思います。
例えば2面になった時は、中ボスやラスボスが出てくるタイミング、敵のスクリプトを読むファイル、
持たせる弾幕関数ポインタなどが変わりますよね。
少しずつそれを変更するようにしてやり、徐々に2面が出来るようにして見て下さい。
全部いっぺんに変更すると不具合が出た時にどこが悪いのか解らないかもしれませんが、このように少しずつ試せばその危険性は回避できると思います。
Re:2面以降の作り方について
>Dixqさん
お返事有難うございます。
あれこれいじってみた結果、2面ができた?と思います。。
一つだけ質問なのですが、main.cppの
case 100://通常処理
のところに1面をクリアした後の2面以降の処理も書いていくのでしょうか?
それとも、2面は別のcaseに書き込んでいくのでしょうか?
お返事有難うございます。
あれこれいじってみた結果、2面ができた?と思います。。
一つだけ質問なのですが、main.cppの
case 100://通常処理
のところに1面をクリアした後の2面以降の処理も書いていくのでしょうか?
それとも、2面は別のcaseに書き込んでいくのでしょうか?
Re:2面以降の作り方について
メイン関数からは1面2面を意識することなく呼べるようにする設計が良いと思います。
今回の場合、背景を描画する関数なども2面以降は変わるでしょうが、それは呼んだ関数先で制御すると良いと思います。
ということで、case 100に今まで通り機能を追加していく形で良いと思います。
今回の場合、背景を描画する関数なども2面以降は変わるでしょうが、それは呼んだ関数先で制御すると良いと思います。
ということで、case 100に今まで通り機能を追加していく形で良いと思います。
Re:2面以降の作り方について
お返事有難うございます!
なるほど、そういう設計にするんですね。とても参考になります。
それでは、これで解決ということで、ありがとうございました!
なるほど、そういう設計にするんですね。とても参考になります。
それでは、これで解決ということで、ありがとうございました!