20

irrlicht c++ 3D グラフィックス エンジン ポートを Android プラットフォームに使用してゲームを作成しています。グラフィックエンジンは c++ で書かれています。C++ コードからメッシュやテクスチャなどを読み込めるようにする必要があります。私の現在の計画は、すべてのゲーム アセット ファイルを res/raw ディレクトリまたは assets ディレクトリに配置し、起動時にこれらのファイルを SD カードにコピーして、irrlicht C++ コードからアクセスできるようにすることです。これは、ゲーム メディア ファイルを C++ からアクセスできるようにするための最良の方法ですか?

4

2 に答える 2

9

これを行うにはいくつかの方法があります...それぞれに独自の制限があるため、状況を詳しく知らずに適切な推奨を行うことはできません. 以下は、あなたを助けるかもしれないいくつかのアドバイスを含むディスカッションへのリンクです。

http://groups.google.com/group/android-ndk/browse_thread/thread/842ca9d7d82995b0

http://groups.google.com/group/android-ndk/browse_thread/thread/4e25a5dfd46f8fea/1269bcd10bdb066d?lnk=gst&q=apk+compressed#1269bcd10bdb066d

私が知っていれば、より具体的な提案をすることができます。

于 2010-02-17T19:52:21.197 に答える
1

理論的には、InputStream をネイティブ C++ コードに渡して、そのメソッドを呼び出させることができます。それらの上に istream を実装することもできます。しかし、これはあなたが求めているものではないと思います。

APK 内のアセット ファイルはファイルとして保存されないことに注意してください。APK は圧縮されてアーカイブされます。実際には、APK は名前が変更された ZIP ファイルです。したがって、アセットを Java 内からデータ フォルダーにコピーし、そのコピーのファイル名を C++ に渡すことをお勧めします。

ちなみに、これにより、これらのアセットへの書き込みが完全に除外されます。

于 2010-06-22T14:19:29.483 に答える