2

これは私の最初のスタックオーバーフロー投稿です。

ゲームを作成していますが、画像、サウンド、構成ファイルなどのリソースを配置するディレクトリが必要です。(ゲームは独自の構成ファイルを変更できる必要があることに注意してください。) /usr/share/mygame/Linux とC:/Program Files/MyGame/Windows で使用できると考えていましたが、問題が発生します。開発の目的でも。

実行可能ファイルがどのフォルダーにあるかを確認してそこを見ることができましたが、私が理解しているように、それは悪い習慣であり、クロスプラットフォームを実装するのは困難です。ゲームはシェルスクリプト、コマンドライン、その他のプロセスなどから実行できるため、明らかに作業ディレクトリを使用できませんでした。特定の「マーカー」ファイルを、ファイルシステム全体を、おそらく感覚の順に検索することもできました。これがゲームのファイルがある場所であることを示していますが、真剣ですか? ファイルシステムをくまなく調べることは、アプリケーションを開始するのに最適な方法ではありません。また、複数のインストール、複数のマーカー ファイル、またはマーカー ファイルがまったくないというジレンマがあります。

だから、私はあきらめます!この問題について直接インターネットに相談する時が来ました。自分のファイルがどこに保存されているかを知るにはどうすればよいですか?

4

2 に答える 2

1

データをプロジェクトディレクトリに保存できると思います。データの絶対パスを取得したい場合は、最初に次を使用してプロジェクトの絶対作業ディレクトリを取得できます。

getcwd()

データの相対パスを追加すると、データの絶対パスが得られます!

したがって、プロジェクトの環境を設定し、データの絶対パスを取得する関数を定義できます!

于 2013-08-15T06:05:15.543 に答える