我是一个用Xcode的sprite-kit开发游戏的初学者。我想用不同的SKScene制作一个游戏结束的场景。我知道使用视图控制器时,如果您转换到第二个视图控制器(例如从游戏视图转换到游戏结束视图),当我们想要返回到前一个视图控制器时,我们将使用以下代码行:
[self.navigationController popViewControllerAnimated:YES];对于SKScene,有没有类似的东西?我使用的方法似乎创建了游戏SKScene的一个新实例(所以每次我在场景之间切换时,内存都会增加很多)。
具体地说,我使用以下代码(1)从游戏场景切换到游戏结束场景,(2)从游戏结束场景切换到游戏场景:
(1) (这是GamePlayScene.m)
SKScene *gameOverScene = [[LTGameOverScene alloc] initWithSize:self.size loss:YES];
SKTransition *reveal = [SKTransition fadeWithDuration:0.5];
[self.view presentScene:gameOverScene transition:reveal];(2) (这些是GameOverScene.h)
-(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];发布于 2014-08-04 14:36:15
因为当您呈现另一个SKScene (GameOverScene)时,前一个SKScene (MyScene)会在转换后释放自身。
https://stackoverflow.com/questions/25111024
复制相似问题