【问题标题】:Cocos2d, I forgot what the command was for delaying a scenecocos2d,我忘记了延迟场景的命令是什么
【发布时间】:2012-07-26 08:57:20
【问题描述】:

我希望游戏结束的场景在几秒钟内不出现,这样你就可以真正看到你是怎么死的。我记得前一阵子这样做了,但我这辈子都记不起来了。

        GameOverScene *gameOverScene = [GameOverScene node];
        [gameOverScene.layer.label setString:@"You Lose"];
        [[CCDirector sharedDirector] replaceScene:gameOverScene];         

真的很感激。

【问题讨论】:

    标签: iphone objective-c ios xcode4 cocos2d-iphone


    【解决方案1】:

    使用NSObject的[self performSelector:@selector(gameOver) withObject:nil afterDelay:5];,在新方法GameOver中替换场景:

    - (void)gameOver
    {
        GameOverScene *gameOverScene = [GameOverScene node];
        [gameOverScene.layer.label setString:@"You Lose"];
        [[CCDirector sharedDirector] replaceScene:gameOverScene];
    }
    

    【讨论】:

    • 等待是 [self performSelector:@selector(gameOver) withObject:nil afterDelay:5];实际的命令?
    • 它是 NSObject 的一个方法,所以每个对象都有它
    【解决方案2】:

    没有得到你真正需要的东西。仍然建议这两个..尝试

    [self performSelector:@selector(showGameOverScene) withObject:nil afterDelay:2.0f];
    

    用时间替换:

    [[CCDirector sharedDirector] replaceScene:[CCTransitionFade transitionWithDuration:1.0 scene:[GameOverScene scene] withColor:ccWHITE]];
    

    【讨论】:

    • 这似乎可行,但我得到错误 + 找不到场景
    • @user1543821 嗯,可以使用 [GameOverScene 节点] 代替 [GameOverScene 场景]。
    【解决方案3】:

    一种解决方案可能是安排一个选择器来执行您的操作:

    [[CCScheduler sharedScheduler] scheduleSelector:@selector(myMethod:) forTarget:self interval:2.0f paused:[[CCDirector sharedDirector] isPaused]];
    

    还有你的方法实现:

    - (void)myMethod:(ccTime)dt
    {
        [[CCScheduler sharedScheduler] unscheduleSelector:_cmd forTarget:self];
    
        //your actions here
        GameOverScene *gameOverScene = [GameOverScene node];
        [gameOverScene.layer.label setString:@"You Lose"];
        [[CCDirector sharedDirector] replaceScene:gameOverScene];
    }
    

    我希望这会有所帮助。

    【讨论】:

    • 我认为如果这不是 void 方法,它会起作用,但我相信你走在正确的轨道上。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-02
    • 2019-07-18
    • 1970-01-01
    • 1970-01-01
    • 2021-02-24
    • 2023-02-09
    相关资源
    最近更新 更多