2

現在、XNAソリューションには、メインのXNAゲームプロジェクトとXNAコンテンツプロジェクトの2つのプロジェクトがあります。ゲームを閉じたり、再コンパイルしたり、再起動したりしなくても、動作やデータを変更できるようにすることを主な目的として、ゲームのいくつかの側面をスクリプトエンジンに公開し始めています。

現在、新しいビルドを作成すると、C:\ solution \ project \ bin \ x86 \ Debugディレクトリにバイナリが作成され、コンテンツプロジェクトからすべてのデータがC:\ solution \ project \ bin \ x86\Debugにコピーされます。 \コンテンツ。私が解決しようとしている問題は、ゲームスクリプトをどこに配置するかです。これにより、実行時にゲームからアクセスできるだけでなく、実行前と実行中に編集可能になり、次回の再構築/コピープロセスによって変更が上書きされるリスクがなくなります。

スクリプトがコンテンツプロジェクトにあり、実行時に編集した場合、スクリプトの変更を読み込むために確認できる唯一の方法は、両方のC:\ solution \ project \ bin \ x86 \ Debug\Scriptsを確認して比較することです。 C:\ solution \ projectContent \ Scriptsにある同じスクリプトファイルを使用して、新しい方をロードします。これは厄介なようで、ハードコーディングパスが必要です。

これを処理するためのよりエレガントな方法はありますか?

4

1 に答える 1

1

Windows Phone や XBox では実行時にこれらのパスを取得することさえできないため、Windows での XNA について質問していると思われます (はいの場合は、質問で明確にしてください)。

ファイルをコンテンツ パイプラインで処理する必要がない場合は、Environment.SpecialFolder.ApplicationDataで識別される共通の場所に配置することをお勧めします。この値は XNA フレームワークで機能します (ただし、PC 以外のプラットフォームでどこを指しているのかはわかりません)。

開発セットアップに関しては、ワイルドカード環境変数を使用してこれらのファイルを含めることができます。

これらのファイルがまだ存在しない場合は、単純なビルド前のバッチ ファイルを使用して、これらのファイルを共通の場所にコピーできます。これにより、コードをチェックアウトする人がこれらのファイルを手動でコピーする必要がなくなります。

お役に立てれば!

于 2012-08-09T15:39:07.837 に答える