gpt4 book ai didi

cocos2d-iphone - 在 Cocos2d 中替换场景时不会触发 dealloc

转载 作者:行者123 更新时间:2023-12-04 18:51:44 26 4
gpt4 key购买 nike

由于某种原因,我的 CCLayer 的 dealloc 在替换场景时没有被触发。下面是替换场景的代码:

[[CCDirector sharedDirector] replaceScene:[CCFadeTransition transitionWithDuration:2.0f scene:[HelloWorld scene]]];

当我按下一个按钮时,上面的代码被触发。

我在从未触发的 dealloc 方法中放置了一个 NSLog。

更新 1:

我最终通过在替换场景之前手动释放内存来解决问题。

最佳答案

当我第一次开始使用 cocos2d 时,我遇到了同样的问题。
在我的情况下,我被添加为 self 作为目标委托(delegate),这意味着对 self 的引用计数增加了。

[[CCTouchDispatcher sharedDispatcher] addTargetedDelegate:self priority:2]swallowsTouches:NO];

我通过删除所有代表解决了这个问题(你也可以指定特定的代表):

[[CCTouchDispatcher sharedDispatcher] removeAllDelegates];

关于cocos2d-iphone - 在 Cocos2d 中替换场景时不会触发 dealloc,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5236176/

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