我正在创建一个游戏使用irrlicht c + + 3D图形引擎端口到android平台。图形引擎是用C++编写的。我需要能够从C++代码加载网格和纹理等。我目前的计划是将所有游戏资源文件放在res/raw目录或资产目录中,然后在启动时将这些文件复制到SD卡中,以便它们可以从irrlicht C++代码访问。 这是使游戏媒体文件可从C++访问的最佳方式吗?Android:如何使游戏资产文件可读取使用ndk
20
A
回答
9
有几种方法可以做到这一点...他们每个人都有自己的限制,所以如果不了解更多关于您的情况,我不能给出好的建议。这里有一些链接,与一些建议的讨论,可以帮助您解决:
http://groups.google.com/group/android-ndk/browse_thread/thread/842ca9d7d82995b0
我可以给你更具体的建议,如果我知道一)有多少资源需要访问B)您将遇到的最大资源的大小,更具体地说,是您的所有资源<未压缩的大小为1MB?
1
理论上,您可以将InputStream传递给本机C++代码并让它调用它的方法。你甚至可以在这些之上实现一个istream。不过,我认为这不是你想要的。
请记住,APK中的资产文件不会作为文件存储。他们被压缩并存档 - APK实际上是一个重命名的ZIP文件。所以我建议将资源从Java内部复制到数据文件夹中,然后将该副本的文件名传递给C++。
顺便说一句,这完全排除了写入这些资产。
相关问题
- 1. 使用NDK和Android读取资产2.1
- 2. Android C++:使用ndk从资产中读取文本文件
- 3. Android NDK游戏引擎
- 4. 在Android中使用C++打开和读取文本文件(ndk)
- 5. Libgdx资产游戏设计
- 6. 读取从JSON文件头,并使用游戏中的SCALA
- 7. 使用Android资产文件夹中的HTML和Javascript读取Epub文件?
- 8. 如何读取从资产文件夹中的Android
- 9. Android游戏如何使用传感器?
- 10. 如何使用Google游戏服务获取连接到Android游戏的玩家?
- 11. 在哪里可以获得可用于Android/iPhone游戏的免版税资产?
- 12. Android:如何使用纯原生可执行文件的ndk-gdb?
- 13. Android从资产文件夹中读取pdf文件
- 14. android上的Unity游戏无法找到或读取XML文件
- 15. Android Studio java.lang.ExceptionInInitializerError静态游戏资产被调用绘制时
- 16. Android大游戏文件
- 17. 从资产中读取文件
- 18. 游戏资产有时不会出现
- 19. Maven的游戏开发/资产管道
- 20. 为iphone 6 spritekit游戏准备资产
- 21. 如何在Android中使用资产
- 22. 如何获取Android资产文件夹中的文件属性?
- 23. NDK负荷资产
- 24. 使用.blend文件提交游戏
- 25. 如何使用批处理文件为游戏添加控件?
- 26. 我如何使用'glGenVertexArrays'使用android-ndk
- 27. 如何阅读Android资产中的文件
- 28. 在非Activity类中读取资产文件android
- 29. 从Android上的资产中读取音频文件
- 30. 使用C和C++文件的Android NDK
那些是我以前没有找到的好线索。这里是另一个我发现有用http://thedevelopersinfo.com/2010/01/13/working-with-sdcards-filesystem-in-android/ 游戏还没有很好的定义,但这里有一些appoximations 的文件,我会需要访问C++ 约8个约400k大小的网格(3.2MB) 约8个大约50k大小的纹理(0.4MB) 约20个大小约为20K的纹理(0.4MB) 1个质感193K(0.193MB) 总计大约4.2MB 另外一个视频249K和一些声音效果306K,但这些将在res/raw文件夹中并在Android媒体播放器中播放 – slytron 2010-02-18 01:46:27
好的,我问的原因是似乎有1MB的未压缩文件大小限制每个资源,并且似乎也有一个最大资源数为512.因为它看起来像你是联合国对于这两者,您可以将所有资源放在“/ assets”文件夹中,然后使用AssetManager类访问它们。如果您的APK是zipaligned,那么AssetManager会为您提供内存映射文件,这将大大提高速度。 – cjserio 2010-02-18 13:18:09
谢谢。我相信我有我需要做的。 – slytron 2010-02-18 13:29:15