ページ 11

章の移行について

Posted: 2012年7月30日(月) 21:05
by とっしー
こんばんは。
早速ですが質問させていただきます。

ダウンロードした龍神録プログラムって章がいくつか別れてますよね?
見たところ1章、2章、・・・とそれぞれmain関数がありますが、main関数から別のファイルのmain関数へ移るにはどうしたらよいのでしょうか?

ざっとページを拝見させていただいたのですがどうしてもわかりません。
初歩的な質問で申し訳ございませんがご回答よろしくお願いします<m(__)m>

Re: 章の移行について

Posted: 2012年7月30日(月) 21:43
by beatle
ある一つのmain関数から別のmain関数を呼び出したい、ということでしょうか。
つまりこのように。

コード:

int main(void)
{
    // 別のmainを起動!
    main();
    return 0;
}
これは無理です。なぜなら、main関数1つ(0個でも2個以上でもだめ。ちょうど1つ)で1つのアプリケーションになるからです。
ちなみにですが、上記のプログラムはmainが自分自身を呼び出し続けるアプリケーションとなります。(そのうちスタックオーバーフローでストップすると思います)

しかし、1つのアプリケーションから別のアプリケーションを呼び出すことは可能です。
たとえば呼び出したいアプリが hoge.exe という名前ならば

コード:

int main(void)
{
    system("hoge.exe");
    return 0;
}
のように書くことができます。
でも、恐らくこのやり方はとっしーさんのやりたいこととは違うと思いますけどね。

もう少し、とっしーさんが何をやりたくて詰まっているのか、教えてください。
(他のmain関数を呼びたい、というような細い部分ではなくて、ゲームの進行にあわせて場面を切り替えたい、というような感じに。)

Re: 章の移行について

Posted: 2012年7月30日(月) 21:50
by softya(ソフト屋)
もしかしたら章の違うプロジェクトに切り替えたいと言うようなことでしょうか?
それでしたら、各章に付いているRyuJin.slnをダブルクリックするだけです。

Re: 章の移行について

Posted: 2012年7月30日(月) 22:21
by とっしー
beatleさん、softya(ソフト屋)さん
ご丁寧なご回答ありがとうございます。

説明不足で申し訳ございません。
私が言いたかったのは、一般的なゲームだと1章から2章にかけて移行するときロード時間のみでスムーズに移行しますが、
サンプルプログラムのように1章と2章のプログラムを分けてしまった場合、
一般のゲームのように章を移行するにはどうすればよいのか?ということです。

初歩的な質問で申し訳ございませんがよろしくお願いします<m(__)m>

Re: 章の移行について

Posted: 2012年7月30日(月) 22:27
by softya(ソフト屋)
龍神録の章は説明の章ですので、ゲーム自体のステージやストーリーの章立てとは意味が違います。
ゲームとしてステージ分割するには、マップデータ、雑魚データ、ボスデータ、ストーリーなどをステージごとに用意してステージの切り替え毎に読み込むことです。
で、出来れば特別なことはしない方が良いので同じmainのまま次のステージに遷移します。
なので複数のmainが登場することはありません。

Re: 章の移行について

Posted: 2012年7月30日(月) 23:10
by とっしー
softya(ソフト屋)さん
ご返信ありがとうございます。

softya(ソフト屋)さんの書き込みを見まして、自分がものすごい勘違いをしていたことに気がつきました。
自分の勘違いでお手数お掛けしてしまい大変申し訳ございませんでした<m(__)m>

また機会がありましたらよろしくお願いします。

Re: 章の移行について

Posted: 2012年7月30日(月) 23:20
by beatle
とっしーさんの質問は良い質問だったと思いますよ。
どんどん面白いソフト・役に立つソフトを作ってください。