본문 바로가기

IT 번역/Cocos2d-x 메뉴얼[manual] 번역

기본 Cocos2d-x 개념 | Basic Cocos2d-x Concepts

작성 일자: 2019-04-19

페이지: https://docs.cocos2d-x.org/cocos2d-x/en/basic_concepts/

 

Basic Cocos2d-x Concepts · GitBook

No results matching ""

docs.cocos2d-x.org

이 챕터는 Cocos2d-x를 막 시작하여 자신의 꿈꾸던 게임을 만들 준비가 된 사람들을 위한 장입니다.
걱정하지 마세요, 재밌을거에요. 그럼 시작해볼까요?

Cocos2d-x는 크로스-프랫폼 게임 엔진입니다. 게임 엔진이란 일반적으로 게임에 필요한 보편적인 기능들을 제공하는 소프트웨어의 한 부분입니다. 아마 이런 개념을 API나 프레임워크라는 이름으로 들어보셨을지도 모르겠네요, 우리는 게임 엔진이라 부릅니다.

게임 엔진은 다양한 컴포넌트들을 갖고 있습니다. 이 컴포넌트들을 사용하여 개발 시간을 단축시키기도 하고, 보통 자체제작한 게임엔진보다 더 나은 퍼포먼스를 내기도 합니다. 보통 게임 엔진은 일련의 컴포넌트들 전부 혹은 일부를 갖고 있습니다; 렌더러, 2d/3d 그래픽, 충돌 감지, 물리 엔진, 사운드, 컨트롤러 지원, 애니메이션, 시퀀스 등등. 우리 모두 다 같은 개념을 갖기 위해서, 일반적인 게임 개발 용어들을 한번 정리해보도록 하겠습니다.

 

디렉터[Director]

디렉터의 개념은, 영화 디렉터(영화 감독)과 같은 개념으로 생각해볼 수 있습니다. 디렉터는 만드는 게임의 모든 항목들을 다룹니다. 스크린에 무엇을 보여줄 것인지, 어떤 사운드를 낼 것인지, 플레이어가 입력을 하면 무엇을 할 것인지 등등..

 

씬[Scene]

하나의 씬은 스프라이트, 라벨[Label], 노드, 그외 게임에 필요한 다양한 객체들을 담아두는 컨테이너입니다. 이 씬은 프레임 단위로 게임 로직과 내용물을 생성하는 일을 합니다.

 

스프라이트[Sprite]

스프라이트[Sprite]는 2D 이미지 입니다. 이 스프라이트를 조절하여 프레임 단위의 애니메이션을 하거나 이동을 하는 등의 동작을 합니다. 많은 게임들이 주인공이나 적 혹은 보스몹들을 표현하는데 많은 수의 스프라이트를 사용합니다.

 

씬 그래프[Scene Graph]

씬 그래프는 화면을 구성하는 요소들을 트리 구조로 정리해놓은 데이터 구조체입니다. 이 트리 구조를 이용하여 그래픽 요소들을 특정한 순서를 따라서 표시합니다.

 

렌더러[Renderer]

좀 심하게 요약하자면, 기술적으로, 렌더러는 화면에 보여줘야 하는 모든 것들을 취급합니다. 지금은 이 이상의 설명을 하는게 불필요할 것 같네요. (이 이상의 설명은 생략한다.)

 

이벤트[Events]

플레이어가 돌아다니면 뭘 해야 할까요? 화면을 터치하거나 키보드를 누른다면? 이런 상황이나 행동 하나하나가 이벤트를 발생시킵니다. 발생된 이벤트를 이용하여 그에 따른 적절한 작업을 수행한답니다.

 

오디오[Audio]

게임에 배경음악이나 효과음이 있으세요? 그럼 그것들을 플레이할 방법이 필요하겠죠?

 

UI 컴포넌트[UI Components]

버튼이나, 라벨(Label), 스크롤뷰 같은 것들을 생각하시면 됩니다. 이런 것들로 게임의 화면 레이아웃과 인터페이스를 구성합니다.

 

물리 엔진[Physics Engine]

물리 엔진은 게임 내의 물리 법칙을 구현하는데 사용됩니다. (용어 반복이군요. 배고픔은 배가 고픈 것을 의미한다.)

 

게임 엔진이라고 하려면 보통 여러게의 플랫폼을 지원합니다. 그래야 개발이 쉬워지고, 고생하지않고 여러 플랫폼에 게임을 제공할 수 있으니까요. Cocos2d-x도 그런 게임 엔진이랍니다. 그래서 간결한 API로 크로스 플랫폼 모바일 게임과 데스크톱 게임을 만들 수 있어요. 쉽게 사용할 수 있는 API는 그 기능들을 캡슐화했기 때문에, 기반 기술들을 개발하는 것에 신경을 덜 쓰고 게임 개발에 집중하실 수 있답니다. Cocos2d-x가 개발자 여러분이 원하시는 만큼, 다시 말해 힘든 부분을 가급적 많이 덜어들일께요.

 

Cocos2d-x는 씬(Scene), 장면전환(Transition), 스프라이트(Sprite), 메뉴(Menu), 스프라이트3D(Sprite3D), 오디오 객체 등등 많은 것을 지원합니다. (저희가 드리는 API reference는 개발자 여러분의 최고의 친구가 될거에요!). 게임을 개발할 때 필요한 모든게 다 있답니다.

 

자, 게임을 한번 만들어 볼까요? - 1 단계

 

하나씩 차근차근 순서에 따라 게임을 만드는 것이 가장 좋습니다. 게임에 필요한 요소들을 여러 조각들로 나누어보고, 조각들을 하나씩 해결한 후, 필요한 만큼 묶어 보는게 어떨까요? 시작하시려면, 설치 관련 문서들과 명령어 단위의 도구[Command-line Tools] 문서들을 읽어보시길 권해드려요.

자, Cocos2d-x가 설치되었고, 게임을 개발하기 위해서 새 프로젝트를 벌써 생성해놓으셨다고 생각할께요. 힌트: <cocos new FirstGame -l cpp -p com.mycompany.mygame -d Games/> 이거랑 비슷한걸 마지막에 보셨을 거에요. 여기까지 하셨다면, 계속 읽어보셔요...

 

자, 그럼 개념들을 배우고 게임을 만들어볼까요?