gpt4 book ai didi

ios - 在 objective-c 中,当呈现新场景时,如何去除旧场景?

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:40:01 24 4
gpt4 key购买 nike

我是 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 方法之前,我必须先写些什么吗?

抱歉,如果这是一个非常基本的问题,我已经在谷歌上搜索并寻找示例,但似乎没有任何额外的代码是我遗漏的,这表明我可能一开始就错误地呈现了场景。

最佳答案

好消息!您无需编写任何内容即可删除旧场景。它会自动删除,因为 Sprite Kit 会为您完成所有的重新分配。但是,如果需要,您可以在 didMoveFromView 方法中进行额外的“包装”。

现在,过去的人们已经报告了您正在经历的事情。我的建议不是在 SKScenes 之间转换,而是在呈现自己的 SKScene 的 SKViews 之间转换。通过这种方式,您将通过将所有内容分开来确保自动释放所有内容。看这个answer ,我想这会对你有很大帮助。

祝你好运!

关于ios - 在 objective-c 中,当呈现新场景时,如何去除旧场景?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31924658/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com