ios - 返回到相同条件下的上一个场景

标签 ios objective-c sprite-kit skspritenode skscene

我有 GamePlayScene,它在结束时删除所有节点并显示分数和重新启动的选项。我在该场景上还有一个按钮,可将您带到另一个场景以显示可升级的项目。我想制作一个功能,在“升级项目”场景上添加一个后退按钮,让我返回到结束的 GamePlay 场景。我现在拥有的代码将我返回到 GamePlay 场景,但会重新启动游戏而不是显示游戏结束文本。我试过在线搜索,但找不到好的解决方案。我的代码:

GamePlayScene.m

    -(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{
                ...
        else if (self.restart) {
                [[GameState sharedInstance] saveState];
                if ([node.name isEqualToString:@"UpgradesButton"]){
                    UpgradeShipScene *upgradeScene = [UpgradeShipScene sceneWithSize:(self.frame.size)];
                    SKTransition *transition = [SKTransition fadeWithDuration:0.5];
                    [self.view presentScene:upgradeScene transition:transition];
                }
                ...
    }

UpgradesScene.m
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{
        UITouch *touch = [touches anyObject];
        CGPoint location = [touch locationInNode:self];
        SKNode *node = [self nodeAtPoint:location];
        if ([node.name isEqualToString:@"BackButton"]){
            for (SKNode *node in [self children]){
                [node removeFromParent];
            }
            GamePlayScene *scene = [GamePlayScene sceneWithSize:self.view.bounds.size];
            SKTransition *transition = [SKTransition fadeWithDuration:0.5];
            [self.view presentScene:scene transition:transition];
        }
}

最佳答案

您可以使用 SKNode 作为“假”SKScene,然后使用 SKAction 对其进行动画处理(呈现或隐藏) .

关于ios - 返回到相同条件下的上一个场景,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31821868/

相关文章:

c++ - 检测墙壁或平面(使用 OpenCV)?

objective-c - UIImage的线程安全

swift - tvOS 中的游戏中心未显示

ios - 真的需要SKSpriteNode child 才能正确射击

NSOperation 和 NSOperationQueue 的 C++ 等价物

ios - SpriteKitPhysicsBody非矩形碰撞

ios - 如何在iPhone的核心数据中存储许多图像和.mp3文件?

ios - 绑定(bind)第二个顶点缓冲区似乎破坏了我的第一个顶点缓冲区,OpenGL OES ios 5.1

ios - fatal error : unexpectedly found nil while unwrapping an Optional value in Swift 3

objective-c - 如何使用 swift 访问 MacOSX Cocoa 应用程序中的辅助功能设置?