Androidでcocos2d-xを使用する際に問題が発生しました。を使用して.zipファイルを読み込もうとしています
CCFileUtils::sharedFileUtils()->getFileDataFromZip(...)
このプロジェクトはマルチプラットフォーム用に設計されているため、iPad3でもこのコードを試しましたが、問題なく動作しています。問題は、zipファイルをロードするときにアプリがセグメンテーション違反を起こすことです。
これがいくつかの追加コメントを含むコード全体です
void Map::loadChunk(int index, CCPoint startPoint) {
chunks[index]->startPoint = startPoint;
std::stringstream filename;
filename << (int)startPoint.x << "_" << (int)startPoint.y << ".map";
unsigned long filesize = 0;
const char* path = CCFileUtils::sharedFileUtils()->fullPathFromRelativePath("map1.zip");
CCLog(path);
CCLog(filename.str().c_str());
// In the following two lines the error occurs
const char* buffer =(const char*) CCFileUtils::sharedFileUtils()->getFileDataFromZip(path, filename.str().c_str(), &filesize);
std::istringstream fileBuffer(buffer);
CCLog("filesize %d", (int)filesize);
std::string line;
// Here some code follows but this code does not produce the problem so I left it out
}
使用されるインクルードは次のとおりです。
#include <iostream>
#include <fstream>
#include <sstream>
#include <map>
#include "cocos2d.h"
パスとファイル名の値は map1.zipと-128_-128.mapです。
map1.zipはassetsフォルダーにあり、.mapファイルはmap1.zip内にあります。
前もって感謝します