今日、簡単RPG講座を拝見しました。といっても十分に読んだわけでは有りませんが、
プロジェクトのアーカイブをダウンさせていただきました。プロジェクトはVS2005用で
したが、ソースが有れば何とかなるだろうとBCCDeveloperでビルとしてみました(全て
のcppとhをプロジェクトに追加しました)。
一回目、案の定エラー。GameMain.cpp内の__FUNCTION__が未定義と出ました。幸い、
__FUNCTION__は使ってなさそうだったので、ダミーの#defineを書いてごまかしました。
2回目、そこは通ったのですが、今度はbattlePSCData.cpp内のPSCData_tが未定義だ
と言われました。VSではプロジェクトにさえ入っていれば、ヘッダをインクルードしてい
なくてもOKなのですね。取り敢えず、battlePSC.hをインクルードしました。
3回目、今度は同じbattlePSCData.cpp内でPSC_BattleInが未定義ですと。ここで困り
ました。PSC_BattleInはbattle.cppの中で宣言されています。こういう場合、どうすれば
よいのでしょう。
1.PSC_BattleInの宣言をヘッダに書いて、それをインクルードする。
2.battlePSCData.cppの中にPSC_BattleInの宣言を書く。
3.battle.cppの中にbattlePSCData.cppの内容を移動する。
深く考え泣ければ1にしそうですが、PSC_BattleInの宣言をわざわざcppファイルに書
いているというのは、を公開したくないということでしょう。だとすると、2か3になり
ますが、どちらがいいのでしょう。データを独立させたければ2でしょうけど、3の方が
関数を追加した時など楽かなとも思います。
これについてご意見をお聞かせ願えればと思います。
簡単RPG講座のソースについて
- softya(ソフト屋)
- 副管理人
- 記事: 11677
- 登録日時: 15年前
- 住所: 東海地方
- 連絡を取る:
Re: 簡単RPG講座のソースについて
製作者です。
__FUNCTION__は失礼しました。bccに無いんですね。
あとbattlePSCData.cppはbattle.cppでincludeして使っていますので直接コンパイルしないようにお願いします。
そうすれば問題は解決するはずです。
[補足]
代わりに__FUNC__がある様です。
__FUNCTION__は失礼しました。bccに無いんですね。
あとbattlePSCData.cppはbattle.cppでincludeして使っていますので直接コンパイルしないようにお願いします。
そうすれば問題は解決するはずです。
[補足]
代わりに__FUNC__がある様です。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。
-
そると
Re: 簡単RPG講座のソースについて
素早いお返事ありがとうございます。
battlePSCData.cppをプロジェクトから外し、__FUNCTION__を__FUNC__に変えたところ、
他にも__FUNCTION__が有ったので、それも変え、
static char *s_HpMpList[HPMP_LIST_MAX+1] = {
}; // ステータス表示用のリスト
の所で
エラー E2264 Q:\Work\BccDx\CGame\EASY_RPG\battle.cpp 353: 式が必要
が出たので、初期値としてNULLを1個書いてやったら無事ビルト出来ました。
本当にありがとうございました。
battlePSCData.cppをプロジェクトから外し、__FUNCTION__を__FUNC__に変えたところ、
他にも__FUNCTION__が有ったので、それも変え、
static char *s_HpMpList[HPMP_LIST_MAX+1] = {
}; // ステータス表示用のリスト
の所で
エラー E2264 Q:\Work\BccDx\CGame\EASY_RPG\battle.cpp 353: 式が必要
が出たので、初期値としてNULLを1個書いてやったら無事ビルト出来ました。
本当にありがとうございました。