cocosd-x 切换场景的方法

       我这里是通过点击按钮来实现切换的,
       首先,在HelloWorld.h里面声明回调函数
public:
     void HelloWorld::menustartCallback(CCObject* pSender);


然后,在HelloWorld.cpp里面实现回调函数

(后面部分会附有场景切换的各种效果)

void HelloWorld::menustartCallback(CCObject* pSender)
{
        //页面跳转
	 CCTransitionFadeTR* transition = CCTransitionFadeTR::create(2.0f,start::scene());
	 CCDirector::sharedDirector()->replaceScene(transition);

}

 最后,在ini()方法里进行初始化,

		// 调用函数
        CCMenuItemImage *pstartItem = CCMenuItemImage::create(
            "CloseNormal.png",
            "CloseSelected.png",
             this,
             menu_selector(HelloWorld::menustartCallback));
        CC_BREAK_IF(! pstartItem);
        //设置按钮的位置
        pstartItem->setPosition(ccp(CCDirector::sharedDirector()->getWinSize().width - 245,121));
        //加入menu列表
        CCMenu* pMenu = CCMenu::create(pCloseItem,pstartItem,NULL);
        pMenu->setPosition(CCPointZero);
        CC_BREAK_IF(! pMenu);
        this->addChild(pMenu, 4);

对于新手有一个注意的问题:
  一定不要忘记在HelloWorld的开头加入下面一句话

   #include "secondScene.h"




    //扇形 逆时针
//    CCTransitionScene* transition = CCTransitionProgressRadialCCW::create(1.5f, MyScene::createMyScene());
//    CCDirector::sharedDirector()->replaceScene(transition);
    
    //扇形  顺时针
//    CCTransitionScene* transiton = CCTransitionProgressRadialCW::create(1.2f, MyScene::createMyScene());
//    CCDirector::sharedDirector()->replaceScene(transiton);
    
    //水平进度条
//    CCTransitionScene* transition = CCTransitionProgressHorizontal::create(1.2f, MyScene::createMyScene());
//    CCDirector::sharedDirector()->replaceScene(transition);
    
    //垂直进度条
//    CCTransitionScene* transition = CCTransitionProgressVertical::create(1.2f, MyScene::createMyScene());
//    CCDirector::sharedDirector()->replaceScene(transition);
    
    
    //由里到外扩展
//    CCTransitionScene* transition = CCTransitionProgressInOut::create(1.2f, MyScene::createMyScene());
//    CCDirector::sharedDirector()->replaceScene(transition);
    
//    CCTransitionScene* transition = CCTransitionProgressOutIn::create(1.2f, MyScene::createMyScene());
//    CCDirector::sharedDirector()->replaceScene(transition);
    
//    //逐渐透明
//    CCTransitionScene* transition = CCTransitionCrossFade::create(4.5f, MyScene::createMyScene());
//    CCDirector::sharedDirector()->replaceScene(transition);
    
    //翻页
//    CCTransitionScene* transition = CCTransitionPageTurn::create(0.5f, MyScene::createMyScene(),false);
//    CCDirector::sharedDirector()->replaceScene(transition);
    
    //跳动
//    CCTransitionScene* transition = CCTransitionJumpZoom::create(2.0f, MyScene::createMyScene());
//    CCDirector::sharedDirector()->replaceScene(transition);
    
//    //部落格过度
//    CCTransitionScene* transition = CCTransitionFadeTR::create(3.5f, MyScene::createMyScene());
//    CCDirector::sharedDirector()->replaceScene(transition);
    
//    CCTransitionScene* transiton = CCTransitionFadeBL::create(1.2f, MyScene::createMyScene());
//    CCDirector::sharedDirector()->replaceScene(transiton);
    
    //条形折叠
//    CCTransitionScene* transition = CCTransitionFadeUp::create(1.2f, MyScene::createMyScene());
//    CCDirector::sharedDirector()->replaceScene(transition);
    
    //随机方格消失 
//    CCTransitionScene* transition = CCTransitionTurnOffTiles::create(1.2f, MyScene::createMyScene());
//    CCDirector::sharedDirector()->replaceScene(transition);
    
    //分行划分切换
//    CCTransitionScene* transition = CCTransitionSplitRows::create(1.2f, MyScene::createMyScene());
//    CCDirector::sharedDirector()->replaceScene(transition);
    
    //分列
//    CCTransitionScene* transition = CCTransitionSplitCols::create(1.2f, MyScene::createMyScene());
//    CCDirector::sharedDirector()->replaceScene(transition);
    
    //颜色过渡
//    CCTransitionScene* transition = CCTransitionFade::create(12.f, MyScene::createMyScene(), ccc3(120, 25, 100));
//    CCDirector::sharedDirector()->replaceScene(transition);
    
    //X轴反转切换画面
//    CCTransitionScene* transition = CCTransitionFlipX::create(1.2f, HelloWorld::scene());
//    CCDirector::sharedDirector()->replaceScene(transition);

    //Y轴
//    CCTransitionScene* transtion = CCTransitionFlipY::create(1.2f, HelloWorld::scene());
//    CCDirector::sharedDirector()->replaceScene(transtion);
    
    //反转角的反转切换直动画
//    CCTransitionScene* transition = CCTransitionFlipAngular::create(1.2f, HelloWorld::scene());
//    CCDirector::sharedDirector()->replaceScene(transition);
    
//    CCTransitionScene* transition = CCTransitionZoomFlipX::create(1.2f, HelloWorld::scene());
//    CCDirector::sharedDirector()->replaceScene(transition);
    
    //缩放交替
//    CCTransitionScene* transition = CCTransitionShrinkGrow::create(1.2f, MyScene::createMyScene());
//    CCDirector::sharedDirector()->replaceScene(transition);
    
    //旋转绽放
//    CCTransitionScene* transition = CCTransitionRotoZoom::create(1.2f, HelloWorld::scene());
//    CCDirector::sharedDirector()->replaceScene(transition);


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值