[基础总结]临时场景的使用

临时场景的使用本来是为了玩游戏的时候突然电话来了,而将游戏内容暂时存储,等打完电话又回到游戏中接着玩,但是一想其实在游戏中的菜单项或者暂停菜单也可以直接用它。所以直接都使用临时场景算了。

           首先,临时场景因为本身是覆盖在游戏场景上的,而游戏场景并未被推出,所以临时场景的代码可以直接在游戏场景的主文件里面写,当然也可以另外开个头文件去写。

           调出临时场景的代码如下:

// 1. 一个 CCRenderTexture 用以存储当前场景(你就是要在这上面弹出界面)的界面

    CGSize winSize = [[CCDirector sharedDirector] winSize];

    CCRenderTexture* renderTexture = [CCRenderTexture renderTextureWithWidth:winSize.width height:winSize.height];

    

    [renderTexture begin];

    // [playingScene visit];

    [renderTexture end];

    

    [renderTexture setPosition:ccp(winSize.width/2, winSize.height/2)];

    

    

    //2. pauseScene 是要弹出的界面场景,看起来还有上一个界面,实际上已经切换了一个场景

    CCScene* pause = [CCScene node];

    

    // 3. 一个 CCLayerColor/CCColorLayer (这两个一样) 用以在上一个界面覆盖一层, 实现暗灰效果 

    CCLayerColor* colorLayer = [CCLayerColor layerWithColor:ccc4(0, 0, 0, 128)];

    [pause addChild:renderTexture];

    [pause addChild:colorLayer];

    [pause addChild:[pauseScene node]];

    

    

    [[CCDirector sharedDirector] pushScene:pause];    

      代码具体的含义备注上基本已经写了,需要注意的是,原本我天真的以为调回原场景只需用跟PUSH相反的popSnece就行了,但cocos2d里面,popSnece居然

 是停止当前场景的意思,所有还得用pauseScene再跳回去才行。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值