본문 바로가기

c++60

0. 개발 환경 설정 Cocos2D-X 설치하기 Cocos2D-X는 가장 최근 버전 4.0(2019.12.04)이후로 사실상 유산(Legacy) 프로젝트가 되었다. Cocos 프로젝트의 유지보수를 주도하는 추콩(chukong) 스튜디오가 Cocos Studio를 중심으로 Cocos를 개발하기로 결정했기 때문이다. Cocos Studio는 기존의 Cocos2D-X와 같이 오픈 소스인데다 유니티와 언리얼과 같이 접근성이 매우 놓아졌다. 자바스크립트를 스크립트 언어로 채택하면서 컴파일 없이 게임을 개발할 수 있을 뿐 아니라 내부적으로는 C++로 작성되어 있어서 성능 역시 기존의 Cocos2D-X와 비교해도 손색이 없다. 지금도 C++을 사용해서 게임 제작 실습하기엔 Cocos2D-X로 충분하지만 외국 포럼에서는 C++을 공부하려면.. 2021. 1. 26.
24. 클라스 템플릿(Class Template) 주조(Template)는 이름에서도 알 수 있다시피 찍어낼 수 있는 틀을 만들 수 있는 기능이다. 템플릿을 이용한 함수는 /SUMMORIZE에서 계속 사용하고 있기 때문에 클라스의 경우를 살펴보자. 클라스 템플릿(Class Template) ▼ 헤더파일(.h/.hpp) 파일에 모두 들어가야한다. #ifndef __POINT2D_H__ #define __POINT2D_H__ template class Point2D { private: T m_x; T m_y; public: Point2D(T _x, T _y); ~Point2D(); void SetPoint2D(T _x, T _y); T GetX(); T GetY(); }; template Point2D::Point2D(T _x, T _y) { m_x = _.. 2021. 1. 26.
23. 상속(Inheritance) CPP에서 클라스를 더욱 강력한 존재로 바꿔주는 개념인 상속은 실제 영어권에서는 { 계승 }이란 뜻으로 사용된다고 한다. 이름 그대로 자식 클라스가 부모 클라스를 계승해오는 개념으로 게임 개발 속도를 크게 올려준다. 이번엔 조금은 긴 코드를 통해서 이해해보자. Private, Protected, Public ▼ 간단한(?) 클라스 상속 예시 코드 class Parent { private: int parentPrivateValue; protected: int parentProtectedValue; public: int parentPublicValue; public: Parent() { parentPrivateValue = 1; parentProtectedValue = 2; parentPublicValue .. 2021. 1. 26.
6. 삼각형 회전 시키기 GLM을 사용해서 삼각형을 회전시키는 것은 매우 간단하다. 회전 행렬에 원하는 각도만큼 넣기만 하면 끝이다. (물론 진짜 행렬 연산을 구현했다면 코드가 2배는 길어졌을 것이다.) 1 호도(Radian) 값 설정 회전을 한다는 것은 각도를 변경한다는 의미가 된다. 컴퓨터는 호도(Radian)으로 빠르게 연산하기 때문에 미리 1 호도값을 설정해서 사용하면 편리하다. ▼ 호도는 상수로 설정 해준다. const GLint WIDTH = 720, HEIGHT = 480; //--------------------------------------------- // 1 호도값 const float toRadians = 3.14159265f / 180.0f; //--------------------------------.. 2021. 1. 25.