-
cocos2d-x transition, parallaxnodePause @/Cocos2d-x2 2013. 6. 30. 19:30
4.7. Transition
1. pushScene, popScene
CCDirector::sharedDirector()->pushScene(scene);
CCDirector::sharedDirector()->popScene();
* 이전 상태 유지, popScene시 init()이 호출되지 않음
여기서 scene의 경우 새로운 cpp/h를 만들어서 사용가능함..
CCScene *scene = CCTransitionFadeTR::create(3.0f, TestScene1::scene()); //testScene1이 새롭게 만든것..
CCDirector::sharedDirector()->pushScene(scene);2. replaceScene
CCDirector::sharedDirector()->replaceScene(scene);
3. transition effects
- CCTransitionCrossFade
CCScene *scene = CCTransitionCrossFade::create(0.5, GameScene::scene());
- CCTransitionFade
- CCTransitionFadeBL
- CCTransitionFadeDown
- CCTransitionFadeTR
- CCTransitionFadeUp
- CCTransitionFlipAngular
- CCTransitionFlipX
CCParallaxNode
1. Process
CCLayer -> CCParallaxNode -> CCSprite
- CCLayer 생성
CCLayer *bgLayer = CCLayer::create();
this->addChild(bgLayer);
- Parallax 생성
CCParallaxNode *node = CCParallaxNode::create();
bgLayer->addChild(node);
- CCSprite 생성후 addChild
CCSprite *sprBG = CCSprite::create("bg.png");
sprBG->setAnchorPoint(ccp(0, 0));
node->addChild(sprBG, 1, ccp(1, 0), ccp(0, 0));
// CCNode(CCSprite), Z-order, parallaxRatio(이동속도 비율), PositionOffset(위치)
bool GameScene::init(){if(!__super::init()) return false;// (1)CCSprite * pBackground = CCSprite::create("background.png");pBackground->setAnchorPoint(ccp(0,0));CCSprite * pLogo = CCSprite::create("powered.png");pLogo->setAnchorPoint(ccp(0,0));// (2)CCParallaxNode * pPNode = CCParallaxNode::create();pPNode->addChild(pBackground, 1, ccp(1.0f,0.0f), ccp(0,-160));pPNode->addChild(pLogo, 2, ccp(2.0f,0.0f), ccp(240,0));// (3)CCLayer * pLayer = CCLayer::create();pLayer->addChild(pPNode, 3);// (4)CCMoveBy * pGo = CCMoveBy::create(4, ccp(-160,0));CCAction * pAction = CCSequence::create(pGo, (CCMoveBy*)pGo->reverse(), NULL);CCAction * pRepeat = CCRepeatForever::create((CCActionInterval *)pAction);// (5)pLayer->runAction(pRepeat);// (6)addChild(pLayer);return true;}(1) 이미지 로드 - 이후 이동 위치 계산을 편하게 하고자 왼쪽 하단으로 앵커포인트를 지정한다.(2) 이미지를 넣을 CCParallaxNode 를 생성한다.배경 이미지는 CCParallaxNode 가 움직일 때 CCParallaxNode 안에서 X축으로 1.0 속도 비율로 움직인다. 즉, CCParallaxNode 가 움직이는 속도와 똑같이 움직인다.ccp(0, -160) 옵셋은 배경 이미지의 윗부분을 보여주고자 그림 위치를 아래로 내린다.(3) 레이어를 만든 후 거기에 CCParallaxNode를 child로 넣는다.(4) 애니메이션 설정(5) 배경 스크롤 애니메이션 지정(6) 최종적으로 애니메이션이 지정된 Layer를 Scene에 넣는다.** CCParallaxNode를 사용하면 같은 화면에서 여러 개의 배경을 다른 속도로 움직일 수 있어서 좀 더 입체감을 줄 수 있다.[출처] CCParallaxNode - 큰 배경 스크롤 하기|작성자 묻지마라
'Pause @ > Cocos2d-x2' 카테고리의 다른 글
cocos2d-x 프로젝트 1 (0) 2013.07.03 cocos2d-x 사운드 및 (0) 2013.06.30 cocos2d-x 스케쥴update, CCSpriteBatchNode (0) 2013.06.30 cocos2d-x animation 정리 (0) 2013.06.30 cocos2d-x 터치 및 스케쥴 정리 (0) 2013.06.29