2014-04-11 40 views
0

现在我将所有资源移植到assets文件夹时,移植到Android项目。但是,我遇到了很多问题。我解决了很多问题,比如从资产中读取xml并使用tinyxml进行分析。但是,我仍然有很多问题,比如我无法写入资产中的xml文件。我无法在资产link的子文件夹下创建带有png文件的CCSprite。我很困惑应该把所有的文件放在资产下面,还是有一个解决方案,告诉我把我所有的资源放在我的Android项目中。我可以写入资产下的文件吗?资产读写错误将cocos2d-x win32项目移植到Android?

我已添加Android项目的权限。

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/> 
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> 

我错过了一些权限?

回答

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;