安卓:++代码中使用NDK如何使游戏素材文件从c可读
-
21-09-2019 - |
题
我创建使用Irrlicht的C ++ 3D图形引擎端口到机器人平台的游戏。图形引擎是用C ++编写。我需要能够从C ++代码加载网格和纹理等。我目前的计划是把所有的游戏资产的文件无论是在RES / raw目录或在启动时,则资产目录中的这些文件复制到SD卡,以便他们从Irrlicht的C ++代码accessable。 这是为了让游戏媒体文件从C ++ accessable最好的方式?
解决方案
有几种方法可以做到这一点......他们每个人都有自己的局限性,所以我不能给出很好的建议,没有更多地了解你的情况。这里有一些链接到一些建议,可以帮助你讨论:
http://groups.google.com/group/android- NDK / browse_thread /线程/ 842ca9d7d82995b0
我可以给你更具体的建议,如果我知道一)有多少资源需要访问b)您会遇到最大的资源的大小,更具体地说,是所有资源<1MB的规模不压缩?
其他提示
在理论上,可以InputStream的传递到本地C ++代码,并将它调用其方法。你甚至可以实现在这些之上的istream。不过,我不认为这是你追求的。
记请的是,在APK资产文件不存储作为,以及,文件。他们压缩和归档 - 一个APK实际上是一个重命名的ZIP文件。所以我建议复制资产到数据文件夹从Java内部,然后使该副本的文件名以C ++。
此,顺便说一下,完全排除了写入这些资产。
不隶属于 StackOverflow