Я программирую игру с помощью Xcode и тестирую ее на симуляторе iOS с помощью набора Sprite.
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];
}
}