공통 헤더를 선언하니까 편한 것 같다. 

사용하는 방법을 소개한다.



일단 

하나의 헤더를 선언한다.(여기서는  common.h 이라고 이름지었다)

그 안에 다음과 같이

cocos2d.h를 include 해주고

USING_NS_CC;해주면 



#include "cocos2d.h"


USING_NS_CC;



//크기 지정

#define DESIGN_WIDTH 768.0f

#define DESIGN_HEIGHT 1024.0f



//가로 세로 카운트 8곱하기8


#define ROW_COUNT 8

#define COLUMN_COUNT 8

#define MAX_ROW_COUNT 10



//7가지 종류의 블록이 있으니까 7

#define TYPE_COUNT 7




//물체 크기, 간격

#define OBJECT_WIDTH 96

#define OBJECT_HEIGHT 96



#endif





다른 파일들에서는

#include "common.h"

이렇게 하는 것만으로 cocos2d 함수들을 사용할 수 있고, 아래 나와있는 상수들을 쓸 수 있다. 

readibility를 아주 많이 상승시킨다. 


주의)다른 헤더 파일들에서 common.h를 인클루드 시켜야 하고, 

예외적으로 AppDelegate.cpp에서 인클루드 시켜주어야 한다.



'개발일지 > cocos2d-x' 카테고리의 다른 글

3.0 터(퍼옴)  (0) 2014.01.16
3.0 beta 프로젝트 생성 방법  (0) 2014.01.16
윈도우 사이즈 가져오기  (0) 2014.01.14
기본구조 이해하기 action편  (0) 2014.01.10
기본구조 이해하기 Director편  (0) 2014.01.10
Posted by jeff제프
,



GameLayer.h 에서


클래스 선언할 때 다음처럼 protected 로 선언해 놓고 




class GameLayer : public Layer

{

    

public:

    bool init();

    

    //스테이지 세팅, 오브젝트 배치, 데이터 초기화 등을 수행할 함수

    void StartGame();

    

    

    static Scene* scene();

    

    CREATE_FUNC(GameLayer);

    

protected:

    Size winSize;

    

    

};







GameLayer.cpp에서

초기화 하는 부분에




init()

{

 

~~

   

    Size winSize = Director::getInstance()->getWinSize();

 


}



이렇게 해서 받아오면 다음부터 

winSize.width

windSize.height

이런식으로 간단히 사이즈를 다룰 수 있게 된다





'개발일지 > cocos2d-x' 카테고리의 다른 글

3.0 beta 프로젝트 생성 방법  (0) 2014.01.16
공통헤더  (0) 2014.01.14
기본구조 이해하기 action편  (0) 2014.01.10
기본구조 이해하기 Director편  (0) 2014.01.10
기본구조 이해하기 node편  (0) 2014.01.10
Posted by jeff제프
,

sprite를 10초동안 x축으로 10, y축으로 20만큼 이동하게 만드는 예)



MoveBy* move = MoveBy::create(10, Point(10, 20));



접미어 by는 상대값

to는 절대적값을 의미한다.



<액션메소드 정리>

-position


MoveTo, MoveBy

JumpTo, JumpBy

BezierTo, BezierBy

Place


-scale


ScaleTo, ScaleBy


-rotation


RotateTo, RotateBy


-visibility


Show

Hide

Blink

ToggleVisibility


-Opacity


FadeIn

FadeOut

FadeTo


-color


TintTo, TintBy








'개발일지 > cocos2d-x' 카테고리의 다른 글

공통헤더  (0) 2014.01.14
윈도우 사이즈 가져오기  (0) 2014.01.14
기본구조 이해하기 Director편  (0) 2014.01.10
기본구조 이해하기 node편  (0) 2014.01.10
첫시작  (0) 2014.01.07
Posted by jeff제프
,

director는 싱글톤이다 라는 설명이 책에 있는데 하나의 어플리케이션에 하나만 존재한다는 뜻이라고 한다. 


디렉터 인스턴스는 이렇게 얻는다. 


Director* director = Director::getInstance();




'개발일지 > cocos2d-x' 카테고리의 다른 글

공통헤더  (0) 2014.01.14
윈도우 사이즈 가져오기  (0) 2014.01.14
기본구조 이해하기 action편  (0) 2014.01.10
기본구조 이해하기 node편  (0) 2014.01.10
첫시작  (0) 2014.01.07
Posted by jeff제프
,

[1] node의 속성/기능


-position

이미지의 위치


-scale

이미지의 크기. 확대 축소가능


-rotation

입력받은 각도만큼 회전


-anchor point

못 박을 위치라고 생각하면 편하다. 벽(layer)에 못(anchor)를 박아서 물체(이미지)를 메단다.

앵커포인트 값은 x,y좌표 모두 0~1.0   (0.5는 한중간)


-size

node는 자기 자신의 size정보를 갖는다.


-visible

node는 자기 자신이 보일지, 감춰질지 결정할 수 있단다.


-z-order

node는 자신이 그려질 순서를 정할 수 있다. 1,2,3,4,...


-camera

디폴트로 정중앙을 보여주지만 다른 시점에서 보게 할 수도 있다.


-grid

아직 모르겠다


[2]node의 subclass


-Scene

-Layer

-Sprite

-Menu

'개발일지 > cocos2d-x' 카테고리의 다른 글

공통헤더  (0) 2014.01.14
윈도우 사이즈 가져오기  (0) 2014.01.14
기본구조 이해하기 action편  (0) 2014.01.10
기본구조 이해하기 Director편  (0) 2014.01.10
첫시작  (0) 2014.01.07
Posted by jeff제프
,

한국 유저 기준으로


2.1.xx버전이 가장 많은 사용자를 가지고 있으며, 프로젝트 생성이 xcode에서 쉽게 되고 많은 교재가 채택하고 있는 버전이라서 잘 쓰이는 것 같다. 새로 프로젝트 생성할때 아이콘도 뜨고 뭔가 정품을 쓰는 느낌이다.


2.2.xx 이 버전 이후로는 프로젝트 생성을 터미널로 수동으로 해줘야 해서 번거로움이 있다. 멀티플랫폼화 하려는 노력의 부작용으로 생긴 현상 같은데 해적판을 쓰는 느낌이 난다. 


3.0 현재 시점을 기준으로 얼마전에 alpha버전이었는데 beta으로 바뀌어서 업데이트 되었고, 장점은 CC접두어가 빠진 것과, objective-c의 패턴을 뺏다는 점인 것 같다. 





문법이 많이 바뀌었지만, 상위버전이 하위버전의 문법을 모두 포함하고 있으므로 

이전의 문법을 써도 이상이 없다.

걱정하지 않고 3.0을 써도 될 것 같다는 결론이다. 


Posted by jeff제프
,

dt


delta time의 약자로 이 호출을 다시 호출하는데 걸린 시간을 의미한다. 

캐릭터의 움직임을 하드웨어 성능과 상관없이 구현하기 위해서 사용되는 방법이다. 


개념으로 보면

velocity(속도) x delta time(응답속도)


구현으로 보면

ccp(ccpMult(_velocity,dt),ccpMult(_velocity,dt));


이런식이 될 것이다. 



내가 만들고 있는 게임에서 캐릭터는 다른 방향키를 누르지 않으면 한번 누른 방향으로 계속 이동하기 때문에 

이런 방식을 썼다. 



'개발일지 > cocos2d' 카테고리의 다른 글

이게뭘까  (0) 2014.01.09
objective-c 함수 선언  (0) 2014.01.09
이미지 띄우기  (0) 2014.01.08
로그 찍어보기  (0) 2014.01.08
메뉴 시작  (0) 2014.01.08
Posted by jeff제프
,




1. 대괄호는 뭐고..


2. 

update는 함수이름인데

update:dt


는 뭐지.. 콜론의 역할이 뭐지...흠 objective-c도 따로 공부해야되나..



곧 알게되겠지! 


여기에 설명을 채워 넣을꺼다


'개발일지 > cocos2d' 카테고리의 다른 글

게임 개발에서 변수명 dt란?  (0) 2014.01.09
objective-c 함수 선언  (0) 2014.01.09
이미지 띄우기  (0) 2014.01.08
로그 찍어보기  (0) 2014.01.08
메뉴 시작  (0) 2014.01.08
Posted by jeff제프
,



objective-c 에서 함수 선언하는게 좀 다르다. 



예)


- (void) move:(enum player_move_type)type

{


내용


}


쪼개서 보면 이렇다. 



-

이 마이너스 기호의 의미는 아직 모르겠다 

php로 따지면 여기서부터가 함수다라는 뜻으로 function쓰는 것과 비슷한거 같기도 하고.. 

근데 +기호 들어가는 함수도 봐서 아직 잘 모르겠다.


(void)

리턴 타입



move

함수 이름



(enum player_move_type)

parameter 타입



type

formal parameter 이름


 

'개발일지 > cocos2d' 카테고리의 다른 글

게임 개발에서 변수명 dt란?  (0) 2014.01.09
이게뭘까  (0) 2014.01.09
이미지 띄우기  (0) 2014.01.08
로그 찍어보기  (0) 2014.01.08
메뉴 시작  (0) 2014.01.08
Posted by jeff제프
,

이미지를 하나 띄우기 위해서는 


CCSprite* character; 이렇게 선언해주고


character = [CCSprite spriteWithFile: @"file_name.png"]; 파일을 링크 걸어준다



CCNode가 무슨 역할인지는 아직 잘 모르겠다.. 감이 안온다

'개발일지 > cocos2d' 카테고리의 다른 글

이게뭘까  (0) 2014.01.09
objective-c 함수 선언  (0) 2014.01.09
로그 찍어보기  (0) 2014.01.08
메뉴 시작  (0) 2014.01.08
이미지 붙이기  (0) 2014.01.08
Posted by jeff제프
,