我创建使用Irrlicht的C ++ 3D图形引擎端口到机器人平台的游戏。图形引擎是用C ++编写。我需要能够从C ++代码加载网格和纹理等。我目前的计划是把所有的游戏资产的文件无论是在RES / raw目录或在启动时,则资产目录中的这些文件复制到SD卡,以便他们从Irrlicht的C ++代码accessable。 这是为了让游戏媒体文件从C ++ accessable最好的方式?

有帮助吗?

解决方案

有几种方法可以做到这一点......他们每个人都有自己的局限性,所以我不能给出很好的建议,没有更多地了解你的情况。这里有一些链接到一些建议,可以帮助你讨论:

http://groups.google.com/group/android- NDK / browse_thread /线程/ 842ca9d7d82995b0

HTTP: //groups.google.com/group/android-ndk/browse_thread/thread/4e25a5dfd46f8fea/1269bcd10bdb066d?lnk=gst&q=apk+compressed#1269bcd10bdb066d

我可以给你更具体的建议,如果我知道一)有多少资源需要访问b)您会遇到最大的资源的大小,更具体地说,是所有资源<1MB的规模不压缩?

其他提示

在理论上,可以InputStream的传递到本地C ++代码,并将它调用其方法。你甚至可以实现在这些之上的istream。不过,我不认为这是你追求的。

请的是,在APK资产文件不存储作为,以及,文件。他们压缩和归档 - 一个APK实际上是一个重命名的ZIP文件。所以我建议复制资产到数据文件夹从Java内部,然后使该副本的文件名以C ++。

此,顺便说一下,完全排除了写入这些资产。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top