gpt4 book ai didi

ios - 如何修复 SKEmitterNode 的内存泄漏?

转载 作者:行者123 更新时间:2023-11-29 02:48:16 25 4
gpt4 key购买 nike

我是 Xcode 的 sprite-kit 的初学者,正在为 iPhone 编写游戏。我的 SKEmitterNode 遇到问题。具体来说,即使我使用 removeFromParent SKAction,每次添加以下 SKEmitterNode 时我都会出现无限内存泄漏。有人有解决这个问题的办法吗?谢谢

SKEmitterNode *_EmitterShatterApart; 
...
-(void)ShatterApart
{
SKAction *fadeaway = [SKAction fadeOutWithDuration:0.5];
SKAction *removeFromParent = [SKAction removeFromParent];
_EmitterShatterApart = [NSKeyedUnarchiver unarchiveObjectWithFile: [[NSBundle mainBundle] pathForResource:@"ShatterApart" ofType:@"sks"]];
_EmitterShatterApart.position = _NodePlayer.position;
if (!_EmitterShatterApart.parent) {
[_bgLayer addChild:_EmitterShatterApart];
_EmitterShatterApart.userInteractionEnabled=FALSE;
[_EmitterShatterApart runAction: [SKAction sequence:@[fadeaway,removeFromParent]]];
}
}

最佳答案

在调用 removeFromParent 操作后,_EmitterShatterApart 不会被释放,因为您在此处定义的静态变量中保留了对它的强引用:

SKEmitterNode *_EmitterShatterApart; 

关于ios - 如何修复 SKEmitterNode 的内存泄漏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24844106/

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