LANGUAGE/C++


안녕하세요. 라이트코드(Light Code) 입니다. 이번 글에서는 cocos2d-x 라는 오픈 소스 2D 게임엔진으로 1,2탄에서의 게임을 진짜 게임처럼 다듬어 마무리하는 작업을 하도록 하겠습니다. 1탄에서는 5개의 버튼이 왼쪽 상단에 있었고 그 버튼을 클릭하면 각 버튼에 해당하는 모션에 대한 액션이 실행되었고, 2탄에서는 게임에 생명력을 넣어 직접 방향키로 조작하면서 적을 제거하는 식의 게임을 제작하였습니다. 이번에는 1,2탄의 게임과는 다르게 게임의 완성도를 진짜 게임처럼 구성하여 마무리하는 형태로 마지막 cocos2d-x 드래곤 플라이트 게임을 마무리 짓도록 하겠습니다. (1,2탄에 관한 소스코드를 이해하지 못하신분들은 [이전단계] 클릭하여 소스코드를 참고하시길 바랍니다) Play/Quit 버튼이..


안녕하세요. 라이트코드(Light Code) 입니다. 지난 글에서는 cocos2d-x 라는 오픈 소스 2D 게임엔진으로 간단한 게임을 만들었습니다. 5개의 버튼이 왼쪽 상단에 있었고 그 버튼을 클릭하면 각 버튼에 해당하는 모션에 대한 액션이 실행되었습니다. 이번에는 다른 전 게임에서의 부족한 점을 보안하여 다른 게임 형태로 제작해보겠습니다. (전 1단계에서의 코드이해가 부족하신 분은 [이전단계] 클릭하여 소스코드를 참고하시길 바랍니다) Play/Quit 버튼이 있고 [play] 버튼을 누르게 되면 적들이 나타나고 1개의 목숨을 가지고 태어난 플레이어가 적들에게 미사일을 발사해 적들을 화면에서 제거한다. 목숨이 1개이기 때문에 만약 적하고 접촉하게 된다면 그 상태로 [Game Over] 이라는 메세지와 함..


안녕하세요. 라이트코드(Light Code) 입니다. 이번에는 C++을 공부하시면서 머리를 식히면서 재미있는 게임을 만들어보시라고 cocos2d-x 라는 오픈 소스 2D 게임엔진으로 간단한 게임을 만들 수 있는 방법을 소개할 예정입니다. 이 엔진은 기본적으로 Windows, macOS, Linux, Android, iOS 등 다양한 플랫폼을 지원하고 있으며, 이 cocos2d-x를 기반으로 만든 게임들은 흔히 알려진 AFK 아레나, 쿠키런, 모두의마블 등 유명한 게임들이 있습니다. 지금부터는 cocos2d.h 파일을 include해서 게임을 만들어보겠습니다. 1탄에서는 간략하게 조작키 방식으로 버튼을 누르면 캐릭터를 조작할 수 있게 만들어보고, 2~3탄에서부터는 본격적으로 한단계씩 게임의 완성도를 높이는..


안녕하세요. 라이트코드(Light Code) 입니다. 지난 시간에는 C와 C++의 차이를 간략하게 설명해드렸습니다. 이번에는 C++에서도 가장 중요한 개념인 포인터와 비슷한 개념이지만 전혀 다른 특징을 가지고 있는 레퍼런스 개념을 비교분석해서 알려드리겠습니다. C++를 공부하다보면 레퍼런스(Reference) 또는 참조라 라는 새로운 개념을 배우게 됩니다. 어떻게 보면 C언어를 공부할 때에 굉장히 어렵게 만들었던 포인터(Pointer)와 유사해 보이는데 어떠한 대상을 가리킨다는 점에서는 같다고 볼 수 있습니다. 하지만 포인터와 레퍼런스는 차이점이 있습니다. 그 중에 여러분이 C++을 할 때 반드시 알아야 할 두 가지 중요한 차이점을 알려드리겠습니다. 1. NULL값의 허용 여부 포인터는 NULL 값을 허..


안녕하세요. 라이트코드(Light Code) 입니다. 전공자, 비전공자 상관없이 많은 사람들이 C언어를 배우면서 C++을 배우는 커리큘럼은 비슷합니다. 저 조차도 학교를 다닐 때에도 C언어를 한학기에 잘 배우다가도 C++을 다음학기에 배우게 될 때 참 어려움을 겪곤 했었습니다. 그 이유는 비교적 간단한 문법 체계를 가지고 있는 C언어와는 달리 C++은 굉장히 다양한 패러다임(paradigm)이 있으며 거대한 스케일을 자랑하는 언어이기때문입니다. 그래서 일단 이런 어려움을 조금이라도 극복하기 위해서는 C 언어와 C++ 두 언어가 어떤 부분이 다른지 살펴보고 넘어가는게 중요하기에 한번 살펴보도록 하겠습니다. Characteristic C C++ Paradigm Procedural Language Multi-..