Skip to content

Cocos2dx

Project

  • Cocos2d-x: written in C++ and OpenGL ES 1.1/2.0, run on iOS, Android, BlackBerry, Bada, Marmalade, Windows, Linux and more.
  • Cocos2d-html5: Written in javascript, based on HTML5 technology. This branch focus on desktop browsers and hybrid app of mobile.
  • Cocos2d-XNA: written in C#, based upon Microsoft XNA 4, compatible with Windows Phone 7, Windows Phone 8, Android, iOS, PSM, WinRT, Win Desktop, and Linux.

Category

Cocos2d-x 기초 (Basic)

  • Cocos2dx:CCMenu
  • Cocos2dx:CCMenuItem
    • Cocos2dx:CCMenuItemLabel
    • Cocos2dx:CCMenuItemSprite
    • Cocos2dx:CCMenuItemImage
    • Cocos2dx:CCMenuItemToggle

액션 (Action)

이름이 ~By 이면 현재 값에서 지정한 값만큼 변하는 액션이고, ~To 이면 지정한 값으로 변하는 액션이다.

  • 위치 (Position)
    • CCMoveBy, CCMoveTo
    • CCJumpBy, CCJumpTo
    • CCBezierBy, CCBezierTo
    • CCPlace
  • 크기 (Scale)
    • CCScaleBy, CCScaleTo
  • 회전 (Rotation)
    • CCRotationBy, CCRotationTo
  • 가시성 (Visible)
    • CCShow
    • CCHide
    • CCBlink
    • CCToggleVisibility
  • 투명도 (Opacity)
    • CCFadeIn
    • CCFadeOut
    • CCFadeTo
  • 색상 (Color)
    • CCTintBy
    • CCTintTo
  • 복합 (Composition)
    • CCSequence
  • 반복 (Repeat)
    • CCRepeat, CCRepeatForever

트랜지션 (Transition)

  • Cocos2dx:CCFadeTransition
  • Cocos2dx:CCFlipAngularTransition
  • Cocos2dx:CCShrinkGrowTransition
  • Cocos2dx:CCMoveInBTransition
  • Cocos2dx:CCMoveInTTransition
  • Cocos2dx:CCMoveInLTransition
  • Cocos2dx:CCMoveInRTransition
  • Cocos2dx:CCFadeTRTransition
  • Cocos2dx:CCFadeUpTransition
  • Cocos2dx:CCFlipXTransition
  • Cocos2dx:CCFlipYTransition
  • Cocos2dx:CCPageTurnTransition
  • Cocos2dx:CCCrossFadeTransition

애니메이션 (Animation)

스케줄 (Schedule)

데이터 저장소 (Data storage)

사용자 입력 (User input)

중력 및 가속도 센서 (Gravity & Accelerometer)

How to build

## Clone the repo from GitHub.
$ git clone https://github.com/cocos2d/cocos2d-x.git

## After cloning the repo, please execute download-deps.py to download and install dependencies.
$ cd cocos2d-x
$ python download-deps.py

## After running download-deps.py.
$ git submodule update --init

How to Start a New Cocos2d-x Game

라이브러리 다운로드 후, 아래의 환경변수를 설정해야 한다. (또는 setup.py를 실행해야 한다)

  • COCOS_X_ROOT: cocos2dx가 설치된 디렉터리.
  • COCOS_CONSOLE_ROOT: cocos2dx의 콘솔 유틸리티 디렉터리: $COCOS_X_ROOT/tools/cocos2d-console
  • COCOS_TEMPLATES_ROOT: cocos2dx의 템플릿 디렉터리: $COCOS_X_ROOT/templates
  • NDK_ROOT: Android NDK가 설치된 ROOT 디렉터리.
  • ANDROID_SDK_ROOT: Android SDK가 설치된 ROOT 디렉터리.
  • ANT_ROOT: Apache Ant가 설치된 ROOT 디렉터리.

이후, cocos (windows에서는 cocos.bat) 스크립트를 사용하기 위해 PATH에 $COCOS_CONSOLE_ROOT/bin를 추가하면 된다.

프로젝트를 생성하기 위해서 아래와 같이 입력하면 된다.

$ cocos new MyGame -p com.MyCompany.MyGame -l cpp -d ~/MyCompany
  • MyGame: name of your project
  • -p com.MyCompany.MyGame: package name for android
  • -l cpp: programming language used for the project, valid value is cppand lua
  • -d ~/MyCompany: directory to hold your project

Quick start

$ cd cocos2d-x
$ ./setup.py
$ source FILE_TO_SAVE_SYSTEM_VARIABLE
$ cocos new MyGame -p com.your_company.mygame -l cpp -d NEW_PROJECTS_DIR
$ cd NEW_PROJECTS_DIR/MyGame

How to run cpp-tests

## Install Dependencies
$ cd $cocos2dx_root/build
$ ./install-deps-linux.sh

## Generate Makefile
$ mkdir linux-build
$ cd linux-build
$ cmake ../..

## Compile
$ make

## Run
$ cd bin/cpp-tests/
$ ./cpp-tests

Detect the Collisions

CCRect.intersectsRect()를 사용하여 충돌을 확인하면 된다.

CCRect projectileRect = CCRectMake(posx, posy, width, height);
CCRect targetRect = CCRectMake(posx, posy, width, height);
if (projectileRect.intersectsRect(targetRect)) {
    // ...
}

Troubleshooting

문제점과 해결 방법에 대하여 정리한다.

Android eclipse project: C/C++ Indexer error

cocos2d-x 3.2 안드로이드 Eclipse 프로젝트를 빌드할 경우 아래와 같은 에러가 발생된다.

An internal error occurred during: "C/C++ Indexer"
 java.lang.NullPointerException

.cproject파일의 <cconfiguration> 항목이 중복되어있어서 발생하는 문제이다.

  1. .cproject를 에디터로 실행한다.
  2. 첫 번째 <cconfiguration> 항목을 남겨두고 모두 제거한다.

다만, 이 방법이 정말 안전한 방법인지는 모르겠습니다.

Local Download

cocos2d-x 3.10
Cocos2d-x-cocos2d-x-3.10.tar.gz (Github source code only)

See also

Favorite site

How to install

Developers Manual

Guide

Tutorial

References


  1. Cocos2dx-3.3-ProgrammersGuide.pdf 

  2. Cocos2dx-3.9-ProgrammersGuide.pdf 

  3. Build_a_Collaborative_Drawing_App.zip