Intereting Posts
OnRequestPermissionsResult не вызывается в фрагменте диалога Создание и сохранение файла журнала на устройстве в Android Как настроить Visual Studio 2015 с SDL2 для Android, iOS и Windows Development? Предупреждение Android ADT 21.0: неявно использовать стандартную локаль Как я могу показать мягкую клавиатуру в веб-браузере с подключенным USB-HID-устройством при нажатии кнопки и фокусировкой ввода? Как получить данные предварительного просмотра камеры Android? TextView Marquee не работает Android, как EditText работает как автозаполнение Как исправить INSTALL_PARSE_FAILED_MANIFEST_MALFORMED в приложении для Android Как сохранить пользовательский ArrayList на экране Android? Метод вызова Android при нажатии уведомления Щелчок по элементу программно в RecyclerView Каково максимальное количество символов, которое может отображаться в уведомлении Android и iOS? Разница между Intent.ACTION_GET_CONTENT и Intent.ACTION_PICK Android Toast перемещается по экрану

Android: как сделать файлы игровых активов доступными для чтения с помощью кода c ++ с помощью ndk

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

Solutions Collecting From Web of "Android: как сделать файлы игровых активов доступными для чтения с помощью кода c ++ с помощью ndk"

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

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

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

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

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

Это, кстати, полностью исключает возможность написания этих активов.