问题是下一个:我的资源文件夹中的一些.txt文件在iOS/win32 cocos2dx项目中(那里的一切都在那里完美)。我正在尝试将其移植到Android上,并且一切都很好,除了我在构建项目时找不到的.txt映射文件。显示了资产文件夹中的所有图片我使用此类代码
std::stringstream ss;
ss << "tutorialMap" << i << ".txt";
std::string fileName = ss.str();
const char *fullPath = CCFileUtils::sharedFileUtils()->fullPathFromRelativePath(fileName.c_str());
#if (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID)
std::stringstream strStream;
strStream<<"/data/data/com.cocos2dx.application/"<<fileName;
std::string fName = strStream.str();
fullPath = fName.c_str();
CCLog("File name is:%s",fullPath);
#endif
std::ifstream t(fullPath);
std::string str((std::istreambuf_iterator<char>(t)),std::istreambuf_iterator<char>());
CCLog("file content: %s",str.c_str());
当iOS/Win32构建工作时,最后一行确实向我显示了文件内容,但在Android中,它是空的。看起来文件不存在。请帮助!!!
P.S。同样一周前(当项目还没有准备好时),我也试图做同样的事情,一切都很好。你能给我一些链接或其他东西,我可以找到它是什么原因吗?
android将文件夹保存在.apk文件中,因此您必须以其他方式去那里,例如:
unsigned char * bufferSize = 0;
unsigned char * charbuffer = CCFileUtils::sharedFileUtils()->getFileData(genrefile, "file", &bufferSize );
资产/这是空的。您可以使用它来存储原始资产文件。文件 您保存在此处被编译为.apk文件, 原始文件名保留了。您可以在 与使用URI的典型文件系统相同,并将文件读为 使用AssetManager的字节流。例如,这是一个 纹理和游戏数据的好位置。
看文档
关于资产