现在,在移植到Android项目时,我将所有资源都放到assets
文件夹中。但是,我遇到了很多问题。我解决了很多问题,比如从资产中读取xml并使用tinyxml进行解析。但是,我仍然有很多问题,比如我无法写入资产中的xml文件。我无法在资产link的子文件夹下创建带有png文件的CCSprite。如果我将所有文件放在资产之下,或者是否有解决方案向我展示将我的所有资源放在我的Android项目中,我感到很困惑。我可以写资产下的文件吗?
我已添加Android项目的权限。
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
我是否错过了一些许可?
答案 0 :(得分:0)
assets
文件夹是只读的。您必须使用CCFileUtils::sharedFileUtils()->getWritablePath()
来获取可写路径并将文件名附加到其中。然后,您可以使用CCDictionary
来编写简单的键值类型数据。这是一个示例代码。
CCDictionary *dict = CCDictionary::create();
CCString *value= CCString::create("value");
root->setObject(value, "key");
std::string writablePath = CCFileUtils::sharedFileUtils()->getWritablePath();
std::string fullPath = writablePath + "myfile.plist";
if(dict->writeToFile(fullPath.c_str())) {
CCLog("file saved at %s", fullPath.c_str());
}
delete dict;
dict = NULL;