맵 툴이라 부르긴 좀 그렇지만 맵 만들수 있게 기능을 넣었으니 맵을 만들고 저장을 해야 한다. 그렇다면 저장은 어떻게 할 것인가. 간단한 예제 코드이다.
저장은 간단하다. 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);
}
}
결과 동영상
아주 잘 된다. 내일부터 인벤토리를 만들지 리소스를 작업할지 고민된다. 하지만 인벤토리가 더 끌린다. 재밌는 코딩
'Programming > Cocos2D-X' 카테고리의 다른 글
Inventory 만들기 3 (0) | 2015.04.29 |
---|---|
Inventory 만들기2 다시만들 계획 (0) | 2015.04.28 |
Inventory 만들기 (0) | 2015.04.27 |
removeChild 맵에 필요없는 블록 삭제 (0) | 2015.04.25 |
랜더타겟? 메모리 관리? CCSpriteBatchNode!! (0) | 2015.04.24 |
내가 선택한 타일 그리기 그리고 각에 맞춰서 타일 그리기 (0) | 2015.04.23 |
화면 스크롤 만들기 (0) | 2015.04.21 |
Raycast 만들기 (3) | 2015.04.20 |