Beispiel #1
0
/*
 * Added by LEETAEHO 11.07.27
 * loadPage를 VVPageFactory 없이 가능하도록 추가한 함수
 */
bool VVBookScene::loadPage(VVPageBase* page, VVBookSceneTransitionType type)
{
    if (isActionOngoing) {
        return false;
    }
    else
    {
        if (!curPage) {
            curPage = page;
            this->pageWillAppear(curPage);
            addChild(curPage, kTag_PageLayer, kTag_PageLayer);
            curPage->setBookDelegate(this); // 현재페이지 클래스에서 bookScene에 접근가능하도록
            curPage->onPageStart();
        } else {
            isActionOngoing = true;

            nextPage = page;
            this->pageWillAppear(nextPage);
            addChild(nextPage, kTag_PageBelow);
            if (type == VVBookSceneTransPushToLeft)
            {
                CCScaleTo *zoomOut = CCScaleTo::actionWithDuration(0.35, 0.2);
                CCScaleTo *zoomIn = CCScaleTo::actionWithDuration(0.35,1);
                CCFiniteTimeAction *action = transActionArray->getObjectAtIndex(type);
                nextPage->setScale(0.5);
                nextPage->setPosition(ccp(winSize.width,0));
                nextPage->runAction( CCSpawn::actions(zoomIn,action->copy(),NULL) );
                curPage->runAction(CCSequence::actions(CCSpawn::actions(zoomOut,action,NULL),CCCallFunc::actionWithTarget(this, callfunc_selector(VVBookScene::pageAniDone)),NULL));
            }
            else if (type == VVBookSceneTransPushToRight )
            {
                CCScaleTo *zoomOut = CCScaleTo::actionWithDuration(0.35, 0.2);
                CCScaleTo *zoomIn = CCScaleTo::actionWithDuration(0.35,1);
                CCFiniteTimeAction *action = transActionArray->getObjectAtIndex(type);
                nextPage->setScale(0.5);
                nextPage->setPosition(ccp(-winSize.width,0));
                nextPage->runAction( CCSpawn::actions(zoomIn,action->copy(),NULL) );
                curPage->setAnchorPoint(ccp(1,0));
                curPage->runAction( CCSequence::actions(CCSpawn::actions(zoomOut,action,NULL),CCCallFunc::actionWithTarget(this, callfunc_selector(VVBookScene::pageAniDone)),NULL));

            }
            else if (type == VVBookSceneTransFadeInOut)
            {
                nextPage->runAction( CCEaseExponentialOut::actionWithAction( CCActionTween::actionWithDuration(0.5,"opacity",0,255) ) );
                curPage->runAction( CCSequence::actions(CCEaseExponentialOut::actionWithAction( CCActionTween::actionWithDuration(0.5,"opacity",255,0) ),CCCallFunc::actionWithTarget(this, callfunc_selector(VVBookScene::pageAniDone)),NULL));
            }
            else
            {

                curPage->runAction(CCSequence::actions(transActionArray->getObjectAtIndex(type),CCCallFunc::actionWithTarget(this, callfunc_selector(VVBookScene::pageAniDone)),NULL));
            }
        }
    }

    return true;
}
//------------------------------------------------------------------
//
// SchedulerTest
//
//------------------------------------------------------------------
void SchedulerTest::onEnter()
{
	EaseSpriteDemo::onEnter();
	
	// rotate and jump
	CCActionInterval* jump1 = CCJumpBy::actionWithDuration(4, CCPointMake(-400,0), 100, 4);
	CCActionInterval* jump2 = jump1->reverse();
	CCActionInterval* rot1 = CCRotateBy::actionWithDuration(4, 360*2);
	CCActionInterval* rot2 = rot1->reverse();
	
	CCFiniteTimeAction* seq3_1 = CCSequence::actions(jump2, jump1, NULL);
	CCFiniteTimeAction* seq3_2 = CCSequence::actions( rot1, rot2, NULL);
	CCFiniteTimeAction* spawn = CCSpawn::actions(seq3_1, seq3_2, NULL);
	CCFiniteTimeAction* action = CCRepeatForever::actionWithAction((CCActionInterval*)spawn);
	
	CCRepeatForever* action2 = (CCRepeatForever*)(action->copy()->autorelease());
	CCRepeatForever* action3 = (CCRepeatForever*)(action->copy()->autorelease());
	
	
	m_grossini->runAction( CCSpeed::actionWithAction((CCActionInterval*)action, 0.5f) );
	m_tamara->runAction( CCSpeed::actionWithAction((CCActionInterval*)action2, 1.5f) );
	m_kathia->runAction( CCSpeed::actionWithAction((CCActionInterval*)action3, 1.0f) );
	
	CCParticleSystem* emitter = CCParticleFireworks::node();
    emitter->setTexture(CCTextureCache::sharedTextureCache()->addImage("Images/fire.png"));
	addChild(emitter);
	
	//sliderCtl = [self sliderCtl];
	//[[[[Director sharedDirector] openGLView] window] addSubview: sliderCtl]; 
}
Beispiel #3
0
void AvatarLayer::packAvatar() {
    m_isShowAll = false;
    CCFiniteTimeAction* callback = CCCallFunc::create(this, callfunc_selector(AvatarLayer::showSelectAvatar));
    CCFiniteTimeAction* scale = CCScaleTo::create(0.2, 1);
    CCFiniteTimeAction* move = CCMoveTo::create(0.2, m_avatarCenter);
    m_avatarList[0]->runAction(CCSequence::create(CCSpawn::create(scale, move, NULL), callback, NULL));
    for (int i = 1; i < MAX_AVATAR_COUNT; i++) {
        m_avatarList[i]->runAction(CCSpawn::create((CCFiniteTimeAction*)scale->copy(), move->copy(), NULL));
    }
}
Beispiel #4
0
//------------------------------------------------------------------
//
// ActionRotateJerk
//
//------------------------------------------------------------------
void ActionRotateJerk::onEnter()
{
    ActionsDemo::onEnter();

    centerSprites(2);

    CCFiniteTimeAction*  seq = CCSequence::actions(
                                   CCRotateTo::actionWithDuration(0.5f, -20),
                                   CCRotateTo::actionWithDuration(0.5f, 20),
                                   NULL);

    CCActionInterval*  rep1 = CCRepeat::actionWithAction(seq, 10);
    CCAction*  rep2 = CCRepeatForever::actionWithAction( (CCActionInterval*)(seq->copy()->autorelease()) );

    m_tamara->runAction(rep1);
    m_kathia->runAction(rep2);
}