`
浮生长恨
  • 浏览: 212143 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

popScene也带效果(转)

阅读更多

原地址:http://ityran.com/thread-118-1-1.html

 

写一个CCDirector(Extension)这样的Category

在头文件中加入:
@interface CCDirector(Extension)
/**Pops scene with transitions
*/
- (void) popSceneWithTransition: (Class)c duration:(ccTime)t;

@end

在实现文件中加入:
-(void) popSceneWithTransition: (Class)transitionClass duration:(ccTime)t;
{
        NSAssert( runningScene_ != nil, @"A running Scene is needed");
        
        [scenesStack_ removeLastObject];
        NSUInteger c = [scenesStack_ count];
        if( c == 0 ) {
                [self end];
        } else {
                CCScene* scene = [transitionClass transitionWithDuration:t scene:[scenesStack_ objectAtIndex:c-1]];
                [scenesStack_ replaceObjectAtIndex:c-1 withObject:scene];
                nextScene_ = scene;
        }
}

分享到:
评论

相关推荐

    Cocos2D-X2.2.3学习笔记18(场景切换)

    除了基本的切换方法,Cocos2D-X还提供了一系列的`Transition`类,它们提供了各种动画效果,如滑动、旋转、擦除等,使得场景切换更具观赏性。例如,`TransitionSlideInL`会从左侧滑入新场景,`TransitionRotoZoom`则...

    cocos2d-x实例——场景自动切换

    `replaceScene()`会替换当前场景,而`pushScene()`则会在场景栈上添加新场景,允许通过`popScene()`返回到之前的场景。 在“自动切换”这个概念中,我们通常指的是在某个事件触发后,如计时器结束、用户交互或特定...

    cocos-lua场景迁移

    Cocos2d-x提供了一系列过渡效果类,如FadeIn、SlideIn、Zoom等,这些效果可以通过传递给`TransitionScene`构造函数来实现。例如,使用FadeIn效果进行场景切换: ```lua local transition = cc.TransitionFade:create...

    cocos2d-X 屏幕跳转以及特效

    `replaceScene`会直接将当前场景替换为新的场景,而`pushScene`则会在当前场景上方叠加新的场景,形成一个场景栈,用户可以通过`popScene`方法返回到前一个场景。 例如,假设我们有两个场景:`MainScene`和`...

    Cocos2d-x UI开发之场景切换代码实例

    总之,Cocos2d-x的场景切换通过导演类的`replaceScene()`、`pushScene()`和`popScene()`等方法实现,结合不同的过渡效果类,可以创建出丰富的游戏交互体验。在实际开发中,根据游戏逻辑和用户体验需求,灵活运用这些...

    Cocos2d x实例 场景切换

    如果你想实现返回上一场景的功能,可以使用popScene方法,这会从堆栈中移除顶部的场景并返回到前一个。 在实现场景切换动画时,我们可以利用Transition类,它提供了多种过渡效果,如SlideInL、SlideInR、FadeOutTR...

    cocos2d-x面试题DOCX文档

    CCLayer可以实现半透明的效果,层的事件相应机制:最外层最先接受到事件(屏幕触碰),最后是底层,如果在某层处理了该事件,则后面的层不会在接受到事件信号。 二、CCSprite CCSprite是cocos2d-x sprite对象,...

    coco2d-x面试题(无脑码农).pdf,这是一份不错的文件

    CCScene通过`runWithScene`、`replaceScene`、`pushScene`和`popScene`等方法来管理场景的切换和过渡。 - **CCLayer** 是CCNode的子类,常用于构建场景的外观和行为。它可以添加子节点(比如CCSprite)并定义渲染...

    cocos2d-x的CCDirector类说明

    Alpha混合用于处理透明度效果。 - **`void setDepthTest(bool bOn)`** 设置是否启用深度测试。深度测试用于处理3D场景中的遮挡关系。 - **`virtual void mainLoop(void)=0`** 游戏主循环。这是一个纯虚函数,...

    cocos2dx学习笔记之牛刀小试1

    此外,它还提供了`pushScene`、`replaceScene`和`popScene`等方法,用于在不同的场景之间切换。 2. **Scene(场景)**: `Scene`是游戏中的一个独立单元,可以理解为游戏的一页或者一个阶段。每个`Scene`包含一个...

    SceneManager:Love2D的场景管理库

    场景的切换通过调用SceneManager的API来实现,如`SceneManager.pushScene`用于添加新的场景到栈顶,`SceneManager.popScene`则会返回前一场景。这种栈式管理方式确保了场景的后进先出(LIFO)特性,使得回退操作变得...

Global site tag (gtag.js) - Google Analytics