마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

cocos2d-x 파일 읽기전에 존재여부 확인하는 방법

0 추천

 

플랫폼 : Windows 7
Cocos2d-x 버젼 : 2.1.0
사용 툴 :  Visual Studio 2010
 
말그대로 파일을 오픈하기 전에 파일이 있는지 없는지 체크해서
 
있는 파일만 불러오는 기능을 만들고 있습니다.
 
그냥 CCSprite를 생성할때 null이면 생성하지 않도록 만들었더니
 
오류는 안나지만 notification 메세지로 파일이 없다고 떠서 보기가 안좋고..
 
notification 시스템 메세지 끄는 방법를 찾아봤지만 없는지 제가 못찾은건지..
 
 
일단 파일존재여부찾는 방법을 찾아봤는데 cocos2d-x 자체 메소드에는 없는것같고
 
구글에 cocos2d-x isfileexist 라고 검색을 해보니
 
 
요 링크페이지에 이 이슈에대한 글도 있어서 해보긴했는데
 
cocos2d-x 내부 소스에 메소드를 추가했더니 접근이 안되더군요...
 
현재는
//=======================================================
bool AppManager::isFileExist(const char* pFileName)
{
    if( !pFileName ) return false;
    //strFilePathName is :/data/data/ + package name
    std::string filePath = CCFileUtils::sharedFileUtils()->getWriteablePath();
std::string filePathName = CCFileUtils::sharedFileUtils()->getResourceDirectory();
filePathName += pFileName;
 
CCLog(filePathName.c_str());
 
    FILE *fp = fopen(filePathName.c_str(),"r");
    if(fp)
    {
        fclose(fp);
        return true;
    }
    return false;
}
//=======================================================
이렇게 체크하고 있긴한데 윈도우에서만 되고
안드로이드에서는 안먹히더군요
 
 
 
혹시 파일 존재여부를 체크하는 다른 방법이나
 
cocos2d-x 내부 소스에 새로운 메소드를 추가해서 호출하는 방법이나
 
notification 메시지을 안뜨게 하는 방법을 알고 싶습니다

 

우노 (180 포인트) 님이 2013년 3월 7일 질문

2개의 답변

0 추천
노티는 엔진단 내부에 띄우는부분있습니다.그거 주석처리해주면되구요.파일찾는부분은 경로가 맞는지 확인해 보세요
바리바리2 (220 포인트) 님이 2013년 3월 16일 답변
0 추천
std::string path = FileUtils::getInstance()->getWritablePath();

path += "MyFileName.txt";

if (FileUtils::getInstance()->isFileExist(path)) {

// 원하는 명령어 처리

}
익명사용자 님이 2021년 9월 2일 답변
...