我现在在制作一个游戏,但是游戏资源需要打包加密,但是cocos2dx似乎没有提供一个统一的办法来允许从一个压缩包或者自定义格式的资源文件中加载素材。请问有没有什么解决方案,本来我是自己写一个虚拟的文件系统,但是发现音效使用的平台API,在windows上不经过FileUtils而是直接读取文件,这样没有办法拦截,有别的方法来让全平台都统一使用FileUtils读取文件以方便是用自己的文件系统替换么?
传给系统的音频路径必须是一个路径的句柄,不能是文件内容(getData()返回的数据),所以声音文件没法和其他文件放一起
然而cocos2dx似乎又OpenAL支持,如果全平台使用的话就可以从内存加载了
用getData的方式的话openAL只支持播音乐playBackgroundMusic,音效(playEffect)不行,而且只有ios平台支持openAL,其他的不行,所以最终还是把声音放一个目录里,
哎。。算了,反正改了3天,把不需要的那几个功能都删了,文件系统也重写完了,等后面看有没有好的解决方案吧。
不过有什么跨平台的音效库么,自己重写音效部分也行,反正文件系统都重写了,也不差这一个。
我去翻了翻github,发现有一个OpenAL-Soft的项目可以全平台使用,把这个移植过来就可以丢掉原来的那些麻烦的实现了, 而且可以支持自定义资源。