본문 바로가기

cocos2d

5.실습용 기본형 프로젝트 생성

test 프로젝트로 만든 예제파일을 


실습할때 사용하는 기본형 파일로 변경 합니다.


HelloWorldScene.h  파일에서 필요 없는 부분을 삭제 합니다.


HelloWorldScene.h 파일은 src 폴더 안에 위치 합니다.


#ifndef __HELLOWORLD_SCENE_H__

#define __HELLOWORLD_SCENE_H__


#include "cocos2d.h"


class HelloWorld : public cocos2d::Layer

{

public:

    static cocos2d::Scene* createScene();


    virtual bool init();

    

    // a selector callback

    void menuCloseCallback(cocos2d::Ref* pSender);

    

    // implement the "static create()" method manually

    CREATE_FUNC(HelloWorld);

};


#endif // __HELLOWORLD_SCENE_H__



위에부분은 기본으로 소스이고 


아래 부분은 프로젝트 진행을 위해 변경한 소스 파일 입니다.



#ifndef __HELLOWORLD_SCENE_H__

#define __HELLOWORLD_SCENE_H__


#include "cocos2d.h"


USING_NS_CC; // using namespace cocos2d


class HelloWorld : public Layer

{

public:


    static Scene* createScene();


    virtual bool init();

    

    CREATE_FUNC(HelloWorld);

};


#endif 




#ifndef __HELLOWORLD_SCENE_H__

#define __HELLOWORLD_SCENE_H__


#endif 


헤더 파일의 중복 참조되는 것을 막기 위해 설정하는 것


새로운 클래스를 만들 때 클래스명과 동일하게 위의 내용도 변경해야 한다고 합니다.



class HelloWorld: pulbic Layer


화면을 구성하는 클래스가 상속받는 것은 Layer 클래스입니다.


화면을 구성하는 클래스이지만 Scene은 상속받는 것이 아니라 전역 메소드에서 생성해서 사용한다고 합니다.


static Scene* createScene();


Scene을 생성하고 반환하는 전역 메소드 입니다. 다른 화면에서 해당 화면으로 전환할 때 등에 사용되는 전역 메소드


virtual bool init();


Layer를 상속받은 클래스가 생성될 때 생성자 메소드 다음으로 가장 먼저 호출 되는 메소드


CREATE_FUNC(HelloWorld);


해당 클래스를 생성할 때 new 명령어가 아닌 cocos2d-x 에서 제공하는 craete() 메소드를 사용할 수 있게 해주는 전역 메소드.