我是Objective-C的新手,所以我可能会使用错误的方法来首先呈现场景,但是当我呈现我的新场景时,可以通过它看到旧场景。
- (void)buttonClicked:(UIButton*)button
{
NSLog(@"Button %ld clicked.", (long int)[button tag]);
WarScene *battle = [[WarScene alloc] initWithSize: CGSizeMake(1024,768)];
SKTransition *reveal = [SKTransition revealWithDirection:SKTransitionDirectionDown duration:1.0];
SKView * skView = (SKView *)self.view;
[skView presentScene:battle transition:reveal];
}
在删除当前场景的presentScene方法之前,我首先要写一些东西吗?
很抱歉,如果这是一个非常基本的问题,我已经搜索过并查找示例,但似乎没有任何其他代码,我错过了这表明我可能首先出现错误的场景。
答案 0 :(得分:4)
didMoveFromView
方法中进行额外的“总结”。
现在,过去的人们已经报道了你正在经历的事情。我的建议是在SKScenes之间进行转换,而不是在展示他们自己的SKScene的SKView之间进行过渡。通过这种方式,您可以确保将所有内容全部分开,从而自动解除分配。看到这个answer,我认为它会对你有所帮助。
祝你好运!
答案 1 :(得分:0)
您无需编写任何代码即可删除旧场景。 Sprite Kit会自己做。但是,如果您想这样做,可以执行以下操作:
[skView presentScene:nil];
此stackoverflow's question可能会进一步澄清你。