我正在使用 Xcode 编写游戏并使用 Sprite Kit 在 iOS 模拟器上对其进行测试。
SKEmitterNode
我正在使用的似乎会导致内存泄漏;游戏运行时,每次SKEmitterNode
放在屏幕上(绘制'爆炸'时),在左侧的“显示调试导航器”下,内存无限增加。
有没有人可以解决这个问题?
下面的代码都在MYScene.m
.
我的 SKEmitterNode 被调用_EmitterShatterApart
,这是一个名为“ShatterApart.sks”的爆炸。_PositionObject
是一个 SKSpriteNode,它是正在爆炸的对象。_bgLayer
是背景层。
@implementation MyScene
{
SKEmitterNode *_EmitterShatterApart;
...
}
-(void)MatchIncorrect
{
...
_EmitterShatterApart = [NSKeyedUnarchiver unarchiveObjectWithFile: [[NSBundle mainBundle] pathForResource:@"ShatterApart" ofType:@"sks"]];
_EmitterShatterApart.position = _PositionsObject.position;
if (!_EmitterShatterApart.parent) {
//[self.particleLayerNode addChild:_EmitterShatterApart];
[_bgLayer addChild:_EmitterShatterApart];
_EmitterShatterApart.userInteractionEnabled=FALSE;
[_EmitterShatterApart resetSimulation];
}
}