我添加了我的声音管理器(在我的游戏中播放声音是单例)并且遇到了这个问题:
尝试添加已经拥有父级的SKNode:name:'(null)'frame:{{0,0},{1,1}}'
@property (strong, nonatomic) VSSoundSystem *soundSystem;
in - (id)initWithSize:(CGSize)我的场景大小:
self.soundSystem = [VSSoundSystem sharedSystem];
[self addChild:self.soundSystem];
我需要将它作为孩子添加,因为我需要运行动作
VSSoundManager init:
+ (id)sharedSystem {
static VSSoundSystem *sharedSystem = nil;
@synchronized(self) {
if (sharedSystem == nil)
sharedSystem = [[self alloc] init];
}
return sharedSystem;
}
它工作正常但在第二级加载时崩溃
答案 0 :(得分:2)
您使用的是什么框架? cocos2d的? 我的猜测是,当你加载第二级时,你将单例AGAIN添加到另一个场景。 由于它是一个单身人士,它可能仍然会将旧的,被破坏的场景作为父母。
您可以尝试这样的事情:
[self.soundSystem removeFromParent]
或
[self.soundSystem removeFromParentAndCleanup:NO]
在你摧毁旧场景之前。