맵 툴이라 부르긴 좀 그렇지만  맵 만들수 있게 기능을 넣었으니 맵을 만들고 저장을 해야 한다. 그렇다면 저장은 어떻게 할 것인가. 간단한 예제 코드이다.

 

 

저장은 간단하다. C공부할때 회원관리 프로그램으로 많이해봤다.

 

void MyScene::DataSave()

{

FILE* f_TileData;

TILESAVE TileData[MAX_BLOCK] = {0};

Object_Block* m_pBlock;

count = 0;

 

for( int i = 0; i < MAX_BLOCK; i++ ){

m_pBlock = BlockManager::sharedManager()->getBlock(i);

if( m_pBlock == NULL)continue;

TileData[i].TileType = m_pBlock->getTileType();

TileData[i].pos = m_pBlock->getPosition();

}

f_TileData = fopen( "tileData.txt", "wb" );

if(f_TileData != NULL){

fwrite(TileData, sizeof(TileData), 1, f_TileData);

fclose(f_TileData);

}

}

 

void MyScene::DataLoad()

{

FILE* f_TileData;

TILESAVE TileData[MAX_BLOCK] = {0};

f_TileData = fopen( "tileData.txt", "rb" );

if(f_TileData != NULL){

fread(TileData, sizeof(TileData), 1, f_TileData);

fclose(f_TileData);

}

for( int i = 0; i < MAX_BLOCK; i++ ){

BlockManager::sharedManager()->addBlock(TileData[i].TileT

 

ype, TileData[i].pos);

 

 

}

}

 

결과 동영상

 

아주 잘 된다. 내일부터 인벤토리를 만들지 리소스를 작업할지 고민된다. 하지만 인벤토리가 더 끌린다. 재밌는 코딩

 

 

반응형