http://www.cnblogs.com/jiushichenan/p/3500881.html




가속도센서 참고 사이트



http://pulsebeat.tistory.com/44

Posted by jeff제프
,

나중에 살펴볼 함수들



-objectAtIndex()


CCSprite* aa = (CCSprite*) ( aa->objectAtIndex(i) );


-addObject(NAME)


CCSprite* spr = ~~;

bg -> addObject(spr);


-tileAt()





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

CCTileMapAtlas 의 정체는...  (0) 2014.02.19
table scroll 참고 사이트  (0) 2014.02.17
동적으로 파일 가져오기  (0) 2014.02.10
오브젝트 가져오기와 애니메이션 적용  (0) 2014.02.03
3.0 터(퍼옴)  (0) 2014.01.16
Posted by jeff제프
,


//푸쉬하는 곳에서

            

            CCDirector::sharedDirector()->pushScene(클래스이름::scene());



//팝하는 곳에서 


CCDirector::sharedDirector()->popScene();


끝. 


엄청 쉽다.

Posted by jeff제프
,




        //std::string filename = m_name + "/01.png";

        

        //CCSprite * spr = CCSprite::create(filename.c_str());

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

table scroll 참고 사이트  (0) 2014.02.17
나중에 살펴볼 함수들  (0) 2014.02.13
오브젝트 가져오기와 애니메이션 적용  (0) 2014.02.03
3.0 터(퍼옴)  (0) 2014.01.16
3.0 beta 프로젝트 생성 방법  (0) 2014.01.16
Posted by jeff제프
,

switch문 쓰는데 갑자기 이런 에러가 떴다.

 "switch case is in protected scope"


'분명 문법에 맞게 썼는데 다른 곳에 문제 있나..' 계속 찾다가 구글링 해보니까

중괄호 치면 해결되는거였다 -_-;;



case 1:

{




Posted by jeff제프
,

버전 2.2.1

시작하세요 교재 311



#include "HelloWorldScene.h"


USING_NS_CC;


CCScene* HelloWorld::scene()

{

   

    CCScene *scene = CCScene::create();

    

        HelloWorld *layer = HelloWorld::create();

    scene->addChild(layer);


    return scene;

}


bool HelloWorld::init()

{

        if ( !CCLayer::init() )

    {

        return false;

    }

    

    //화면 크기 가져오기

    

    //기존 코드

    CCSize visibleSize = CCDirector::sharedDirector()->getVisibleSize();

    CCPoint origin = CCDirector::sharedDirector()->getVisibleOrigin();

    //추가한 코드

    winSize = CCDirector::sharedDirector()->getWinSize();

    

    

    

    tmap = CCTMXTiledMap::create("TestDesert.tmx");

    this->addChild(tmap, 0 , 11);

    

    

    

    

    

    //Ojbects라는 이름의 오브젝트 레이어 객체 가져오기

    CCTMXObjectGroup* objects = tmap->objectGroupNamed("Objects");

    

    

    //오브젝트 레이어에서 spawnPoint 지정한 속성값 읽어오기

    CCDictionary* spawnPoint = objects->objectNamed("SpawnPoint");

    

    int x = ((CCString*)spawnPoint -> objectForKey("x"))->intValue();

    int y = ((CCString*)spawnPoint -> objectForKey("y"))->intValue();

    

    

    //가져온 정보(위치) 드래곤 생성하기

    

    dragonPosition = ccp(x,y);

    

    this->createDragon();


    

    

    return true;

}



void HelloWorld::createDragon(){

    

    

    //리소스를 texture 등록하기

    CCTexture2D *texture = CCTextureCache::sharedTextureCache() -> addImage("dragon_animation.png");

    

    //애니메이션 생성하고 애니메이션 주기 0.1초로 세팅하기?

    CCAnimation *animation = CCAnimation::create();

    animation->setDelayPerUnit(0.1);

    

    

    

    //애니메이션에 texture이미지 더하는데 frame 방식(batch)으로 하기, 이미지가 가로 몇개 세로 몇개 인지에 따라서 ccrectmake 설정해주기

    

    for (int i=0; i<6; i++) {

        int index = i%4;

        int rowIndex = i/4;

        

        animation->addSpriteFrameWithTexture(texture, CCRectMake(index*130, rowIndex*140, 130, 140));

        

    }

    

    dragon = CCSprite::createWithTexture(texture, CCRectMake(0, 0, 130, 140));

    dragon->setPosition(dragonPosition);

    this->addChild(dragon);

    

    

    

    //드래곤 방향을 바꿔준다

    dragon->setFlipX(true);

    

    

    //드래곤 사이즈 줄여준다.

    dragon->setScale(0.5);

    

    //드래곤 애니메이션

    CCAnimate *animate = CCAnimate::create(animation);

    

    CCAction* rep = CCRepeatForever::create(animate);

    dragon->runAction(rep);

    

    

}



---------

집 띄울 때는 공사중인 집 모양 스프라이트 설정해놓고

animation->setDelayPerUnit(4.0);

이런식으로 하면 되겠다


오늘 문득 든 생각인데, 코딩하는 것도 수학 공부하는거랑 비슷하다고 생각이 들었다. 

남이 풀이해준거는 아무 소용없고, 

남이 풀이해준걸로 한번 공부한 후에 집에 가서 곰곰히 식을 하나 하나 짚어가면서 

복습을 해야 내 스킬이 될 것 같다. 

오늘부터라도 날마다 코딩한 것을 집에 가져가서 프린트를 해서 읽든, 타블렛 펜으로 표시해가며 읽든 해야겠다.


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

나중에 살펴볼 함수들  (0) 2014.02.13
동적으로 파일 가져오기  (0) 2014.02.10
3.0 터(퍼옴)  (0) 2014.01.16
3.0 beta 프로젝트 생성 방법  (0) 2014.01.16
공통헤더  (0) 2014.01.14
Posted by jeff제프
,

rlcocos2d-x 버전2.2.1



버튼을 눌렀을 때 무언가 실행되게 하고 싶을 때 


ccMenuItemImage를 쓰면 된다.






bool HelloWorld::init()

{

       if ( !CCLayer::init() )

    {

        return false;

    }

    

    //터치

    setTouchEnabled(true);

    

    

    //사이즈 가져오기

    CCSize visibleSize = CCDirector::sharedDirector()->getVisibleSize();

    CCPoint origin = CCDirector::sharedDirector()->getVisibleOrigin();


    //플레이 화면 깔기

    CCSprite* pSprite = CCSprite::create("pg2.png");

    pSprite->setPosition(ccp(visibleSize.width/2 + origin.x, visibleSize.height/2 + origin.y));

    this->addChild(pSprite, 0);

    

  

    //메뉴 버튼 만들기

    

    CCMenuItemImage* bt_RUN =

    CCMenuItemImage::create("running_bt.png", "running_bt.png",this,     menu_selector(HelloWorld::goToRun));

    

    CCMenu* menuMain = CCMenu::create(bt_RUN,NULL);

    

    

    menuMain->setPosition(ccp(visibleSize.width - 77.0f , visibleSize.height/2 + 15.0f ));

    

    addChild(menuMain,1);

    

    

    

    

    

    

    

    

    return true;

}





void HelloWorld::goToRun(CCObject* pSender){

    

    

    CCLog("goToRun Runs....");



//씬을 바꾸는 코드 


    CCScene* runScene = ExerciseScene::rScene();  //바꿀 씬.

    CCTransitionScene* pTran = CCTransitionFade::create(1.5f, runScene); //전환 포인터에 바꿀 씬을 할당한다

    CCDirector::sharedDirector()->replaceScene(pTran);//바꿀 씬을 디렉터에 돌려준다.

    

    

}







Posted by jeff제프
,

*개인 참고용으로 스크랩해온 내용입니다.


터치 이벤트 처리가 필요한 Layer 의 헤더파일에 터치 리스너 변수와 함수를 선언합니다.


cocos2d::EventListenerTouchOneByOne* _touchListener;


virtual bool onTouchBegan(cocos2d::Touch* touch, cocos2d::Event* event);


cpp 파일에서 초기화 함수 부분에 터치 이벤트 리스너를 설정하고 이벤트 디스패쳐에 등록해줍니다.



_touchListener = EventListenerTouchOneByOne::create();

_touchListener->setSwallowTouches(true);

    

_touchListener->onTouchBegan = CC_CALLBACK_2(TestLayer::onTouchBeganthis);

    

EventDispatcher* dispatcher = Director::getInstance()->getEventDispatcher();

    

dispatcher->addEventListenerWithSceneGraphPriority_touchListenerthis);




onTouchBegan, Moved, Ended, Cancelled 는 이전처럼 작성해주면 됩니다.


bool TestLayer::onTouchBegan(Touch* touch, Event* event)

{

    Point touchPoint = touch->getLocation();

    

    log("Default Touch began : (%f %f)",touchPoint.x, touchPoint.y);

    

    return true;

}



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

동적으로 파일 가져오기  (0) 2014.02.10
오브젝트 가져오기와 애니메이션 적용  (0) 2014.02.03
3.0 beta 프로젝트 생성 방법  (0) 2014.01.16
공통헤더  (0) 2014.01.14
윈도우 사이즈 가져오기  (0) 2014.01.14
Posted by jeff제프
,




이번에 새로 바뀐 cocos2d-x beta 버전 프로젝트 생성하는 방법입니다 




참고로 


cd는 change directory 의 약자로 현재위치를 바꿔주는 것이고 


ls는 현재 폴더에 있는 파일들을 보여주는 명령어 입니다.



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

오브젝트 가져오기와 애니메이션 적용  (0) 2014.02.03
3.0 터(퍼옴)  (0) 2014.01.16
공통헤더  (0) 2014.01.14
윈도우 사이즈 가져오기  (0) 2014.01.14
기본구조 이해하기 action편  (0) 2014.01.10
Posted by jeff제프
,

(작성중)

'프로그래밍 공부 정리 > C++' 카테고리의 다른 글

template[2]  (0) 2013.12.13
template  (0) 2013.12.13
Posted by jeff제프
,