我正在用SpriteKit构建一个相当简单的游戏。这是我第一次使用SpriteKit,到目前为止一切都很顺利。现在我已经说到点上了,我想在玩家完成游戏时呈现一个新的SKScene。我得到了一个坏访问崩溃,我似乎不能诊断。
我认为我正确地呈现了场景:
UnlockRockets *scene = [[UnlockRockets alloc] initWithSize:self.scene.size];
[self.view presentScene:scene];
每次我在presentScene: line -Thread1: EXC_BAD_ACCESS (code=1,address = 0x10)上得到以下错误
查看线程跟踪,似乎崩溃可能是由SKNode isPaused引起的
任何建议都是很棒的,我对此完全迷惑了。
发布于 2014-08-13 06:21:53
我认为UnlockRockets类内部的initWithSize方法有问题
发布于 2014-10-03 05:36:08
我在SKView present scene上也遇到过同样的问题,即使在没有任何配置的情况下,scene也是全新的。所以我用这个解决了这个问题。
myScene *newScene = [myScene sceneWithSize:size];
newScene.scaleMode = SKSceneScaleModeResizeFill;
SKView *currentskView = (SKView*) self.scene.view;
SKScene *currentScene = (SKScene*) self.scene;
[currentScene removeAllChildren];
[currentScene removeFromParent];
[currentskView presentScene:newScene];
此外,我还注意到,如果为场景声明强引用-它的工作方式与您的方式相同,但在这种情况下,即使场景是不可见的,它也会留在内存中,并且xCode会通知存在内存警告。
https://stackoverflow.com/questions/25264925
复制相似问题