iOS精灵套件';流行音乐';幕后

iOS精灵套件';流行音乐';幕后,ios,objective-c,xcode,sprite-kit,transition,Ios,Objective C,Xcode,Sprite Kit,Transition,我是一个初学者程序员,用Xcode的精灵工具包开发游戏。我想用不同的场景制作一个游戏。我知道使用视图控制器时,如果您转换到第二个视图控制器(例如从游戏视图转换到游戏结束视图),当我们想要返回到前一个视图控制器时,我们将使用以下代码行: [self.navigationController popViewControllerAnimated:YES]; SKScene是否有与此等效的产品?我使用的方法似乎创建了游戏场景的一个新实例(因此每次我在场景之间切换时,内存都会增加很多)

我是一个初学者程序员,用Xcode的精灵工具包开发游戏。我想用不同的场景制作一个游戏。我知道使用视图控制器时,如果您转换到第二个视图控制器(例如从游戏视图转换到游戏结束视图),当我们想要返回到前一个视图控制器时,我们将使用以下代码行:

        [self.navigationController popViewControllerAnimated:YES];
SKScene是否有与此等效的产品?我使用的方法似乎创建了游戏场景的一个新实例(因此每次我在场景之间切换时,内存都会增加很多)

具体来说,我使用以下方法(1)从游戏场景转到游戏场景,以及(2)从游戏场景转到游戏场景:

(1) (这里是gameplaysecene.m)

(2) (这是GameOverScene.h)


因为当你呈现另一个
SKScene
(GameOverScene)时,上一个
SKScene
(MyScene)会在转换后自动释放。

游戏中的场景由你来管理;对于传统的应用程序,没有像故事板那样的内置行为。您需要创建自己的推送/弹出场景控制器,或者您可以简单地过渡到新场景,并自动释放旧场景(及其内容)。
SKScene *gameOverScene = [[LTGameOverScene alloc] initWithSize:self.size loss:YES];
SKTransition *reveal = [SKTransition fadeWithDuration:0.5];
[self.view presentScene:gameOverScene transition:reveal];
-(id)initWithSize:(CGSize)size loss:(BOOL)loss 
...
    SKTransition *reveal = [SKTransition flipHorizontalWithDuration:0.5];
    MyScene * scene = [MyScene sceneWithSize:self.view.bounds.size];
    scene.scaleMode = SKSceneScaleModeAspectFill;
    [self.view presentScene:scene transition: reveal];