Android: Как сделать игровые файлы актива читаемыми из кода C++ с помощью ndk

Я создаю игру с помощью irrlicht C++ 3D графический порт механизма для платформы андроида. Графический механизм записан в C++. Я должен быть в состоянии загрузить сетки и структуры и т.д. от кода C++. Мой текущий план состоит в том, чтобы поместить, все игровые файлы актива или в res/raw каталоге или в каталоге активов тогда на запуске копируют эти файлы в sdcard, таким образом, они доступны от irrlicht кода C++. Действительно ли это - лучший способ сделать игровые медиа-файлы доступными из C++?

20
задан slytron 17 February 2010 в 04:41
поделиться

2 ответа

Есть несколько способов сделать это ... у каждого из них есть свои ограничения, поэтому я не могу дать хорошую рекомендацию, не зная больше о вашей ситуации. Вот несколько ссылок на обсуждения с некоторыми советами, которые могут вам помочь:

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

Я могу дать вам более конкретные предложения, если бы знал а) Сколько ресурсов вам нужно для доступа б) размер самого большого ресурса, с которым вы столкнетесь, а именно, все ли ваши ресурсы размером <1 МБ без сжатия?

9
ответ дан 30 November 2019 в 01:31
поделиться

Теоретически вы можете передать InputStream в собственный код C ++ и заставить его вызывать свои методы. Вы даже можете реализовать istream поверх них. Однако я не думаю, что это то, что вам нужно.

Имейте в виду, что файлы ресурсов в APK не хранятся как файлы. Они сжимаются и заархивированы - APK на самом деле представляет собой переименованный ZIP-файл. Поэтому я бы рекомендовал скопировать актив в папку данных из Java, а затем передать имя файла этой копии в C ++.

Это, кстати, полностью исключает запись на эти активы.

1
ответ дан 30 November 2019 в 01:31
поделиться
Другие вопросы по тегам:

Похожие вопросы: