CPP
Posts
32 posts![[C++] Data Save (2)](https://img.zoomtrend.com/2018/05/21/f0084961_5b02c17d268ab.png)
[C++] Data Save (2)
이전 글과 이어지는 내용이다. 데이터를 저장하기 위해서는 정적 데이터 구조로 저장할 필요가 반드시 존재한다. 동적으로 매우 많은 데이터를 저장하기 위해서는 이 데이터가 얼마나 많은 지 설명할 수 있는 정적 데이터가 선행되어야 한다. 이 정적 데이터는 단순히 4 byte 정수형 값 하나라도 상관 없다. 예를 들어, 개행 문자가 포함되는 로그 파일을 저장할 때는 문자열을 어디까지 저장하고 읽을지 알기 어렵다. 이 때 이런 약속을 하는 것이다: 맨 처음 4byte는 무조건 로그의 사이즈이고, 그 사이즈만큼만 로그 데이터라고 한 뒤에 그 다음 4 byte는 다시 로그의 사이즈를 저장하는 식으로 데이터를 저장하자고. 물론, 쓰이지 않는 특정 문자로 구분자(separator)를 사용해서 구분자가 나올 때까지
[C++] Data Save
C/C++을 배우면 후반부에 파일 입출력에 대해 배우게 된다. 간단한 입출력 실습도 하는데 그런다고 문자열 데이터 말고는 데이터를 넣어본 적이 거의 없을 것이다. 구분자는 거의 다 줄바꿈이고. 이번 글에서 다룰 파일 입출력 방식은 C++11의 std::fstream을 사용하지만 개념 자체는 어떤 방식이든 무관하게 사용이 가능하다. 우선 예전 기억을 돌이켜보자. 우리는 어떻게 파일 입출력을 하였는가? bool Save() { int save_int = 5; float save_float = 3.123f; std::string save_string = "hello, world!"s; std::fstream fs; fs.
![[cocos2d-x] 심플&범용 팝업 클래스](https://img.zoomtrend.com/2018/04/26/f0289989_5ae13e736a325.png)
[cocos2d-x] 심플&범용 팝업 클래스
첨부파일 : 헤더 #ifndef __POPUP_LAYER_H__ #define __POPUP_LAYER_H__ #include "cocos2d.h" USING_NS_CC; using namespace std; class PopupLayer : public cocos2d::Layer { public: static PopupLayer* create(); virtual bool init(); //콜백 등록/호출을 위한 함수 typedef std::function FUNC;//함수 형태를 정의합니다. 인수는 필요한 형태로 설정 FUNC _func; void regi_func(FUNC pF
[cocos2d-x] UserData 활용
그동안 이런게 있는 줄 모르고, 추가적인 파라미터(HP, 공격력, 방어력, 드롭템 등)가 필요한 경우가 있으면 Sprite를 상속하는 클래스를 별도로 만들어서 써 왔는데요, BOX2D공부하면서 바디에 연결된 스프라이트를 userData로 지정하는 걸 보다보니, 어 이런 비슷한 api 일반 Node에서도 본 것 같은데? 해서 찾아보니 있길래, 이렇게 쓰면 될려나? 싶어서 해 보니, 되네요.. 이정도면 어지간해서는 굳이 클래스를 새로 만들지 않아도 되겠습니다. 그동안 내 나쁜 머리 때문에 고생한 몸과 코드에게 리스펙. 예를 들어 아래와 같은 구조체가 있다고 하면 typedef struct _ATTR { int hp; int drop; } ATTR;



