Я создаю игру с помощью irrlicht C++ 3D графический порт механизма для платформы андроида. Графический механизм записан в C++. Я должен быть в состоянии загрузить сетки и структуры и т.д. от кода C++. Мой текущий план состоит в том, чтобы поместить, все игровые файлы актива или в res/raw каталоге или в каталоге активов тогда на запуске копируют эти файлы в sdcard, таким образом, они доступны от irrlicht кода C++. Действительно ли это - лучший способ сделать игровые медиа-файлы доступными из C++?
Есть несколько способов сделать это ... у каждого из них есть свои ограничения, поэтому я не могу дать хорошую рекомендацию, не зная больше о вашей ситуации. Вот несколько ссылок на обсуждения с некоторыми советами, которые могут вам помочь:
http://groups.google.com/group/android-ndk/browse_thread/thread/842ca9d7d82995b0
Я могу дать вам более конкретные предложения, если бы знал а) Сколько ресурсов вам нужно для доступа б) размер самого большого ресурса, с которым вы столкнетесь, а именно, все ли ваши ресурсы размером <1 МБ без сжатия?
Теоретически вы можете передать InputStream в собственный код C ++ и заставить его вызывать свои методы. Вы даже можете реализовать istream поверх них. Однако я не думаю, что это то, что вам нужно.
Имейте в виду, что файлы ресурсов в APK не хранятся как файлы. Они сжимаются и заархивированы - APK на самом деле представляет собой переименованный ZIP-файл. Поэтому я бы рекомендовал скопировать актив в папку данных из Java, а затем передать имя файла этой копии в C ++.
Это, кстати, полностью исключает запись на эти активы.