2014-04-11 70 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;