인벤토리는 총 20칸에 아이템의 타입에 따라 20개 까지 겹칠 수 있게 만들 생각이다.


struct ItemInfo{

CCSprite* m_item_image; //아이템 이미지 

std::string m_item_name; //아이템 이름

int m_item_id; //아이템 아이디

int m_item_type; //아이템 타입 int 값으로 

int m_item_effect; //아이템효과 번호(이걸 기준으로 캐릭터에 효과를 줌) 

bool m_item_overlap; //아이템 중복 여부 (true, false)

int m_item_overlapCount; //1칸에 가질 아이템 중복 수

};

인벤토리에 아이템의 데이터를 저장할 구조체다.


//아이템 ID정보

enum ITEM_ID{

//WEAPONS

ITEM_ID_0 = 0, ITEM_ID_1,

//HEIMETS

ITEM_ID_10 = 10, ITEM_ID_11,

//ARMOR

ITEM_ID_20 = 20, ITEM_ID_21,

//FOOD

ITEM_ID_30 = 30, ITEM_ID_31,

//RESOURCES

ITEM_ID_40 = 40, ITEM_ID_41,

};

addItem함수를 만들어서 eunm값을 넣어주면 값을 찾아서 그 아이템을 인벤토리에 생성하게 만들 생각이다.


enum ITEM_TYPE{

WEAPONS, HEIMETS, ARMOR, FOOD, RESOURCES

};

타입은 마우스 우클릭 하게 되면사용하기 전에 확인 후 무기 또는 갑옷이라면 장착되고 음식이라면 1개를 소모하고 잡템일경우 아무 효과가 없게 할 것이다.


enum EFFECT{

EFFECT_NO, EFFECT_1, EFFECT_2 ,EFFECT_3

};

이팩트는 아직 생각 중인데 물약을 먹으면 빨간색으로 캐릭터에 뻔쩍 한다든가 그런 식으로 사용할 생각이다.


해더를 캡처한사진.



해더에 선언되어 있는 함수들을 하나씩 사진으로 캡처했다.

끄기 켜기 아이템 삭제 추가가 완성되었다.

이제 내일은 사용하기, 사용자가 인벤토리를 눌렀는지 확인해주는 함수를 만들어야겠다.

반응형

'Programming > Cocos2D-X' 카테고리의 다른 글

cocos2d 오토액션  (0) 2015.05.05
맵 그리기  (0) 2015.05.03
Inventory 만들기 5  (0) 2015.05.02
Inventory 만들기 4  (0) 2015.05.01
Inventory 만들기2 다시만들 계획  (0) 2015.04.28
Inventory 만들기  (0) 2015.04.27
removeChild 맵에 필요없는 블록 삭제  (0) 2015.04.25
파일저장 꾸민 맵 저장하기  (0) 2015.04.24