这是我的第一篇文章,所以不要对我太粗鲁。
cocos2d 有问题。我正在制作一个带有 HUD 层和游戏层的游戏。当我用 [ClassicGameLayer 场景] 调用替换主菜单场景时,我的 HUD 和游戏层以这种方式初始化:
+ (CCScene*)scene
{
CCScene *scene = [CCScene node];
HudLayer *hud = [[[HudLayer alloc] initWithMode:1] autorelease];
ClassicGameLayer *layer = [[[ClassicGameLayer alloc] initWithHUD:hud] autorelease];
[scene addChild:hud z:hudZ];
[scene addChild:layer z:layerZ];
return scene;
}
当用户失败时,游戏 HUD 层调用
[[CCDirector sharedDirector] replaceScene:[GameOverLayer sceneWithMode:integer andScore:points]]];
HUD 层的 dealloc 被调用,但 ClassicGameLayer 的 dealloc 从未被调用。我搜索了几乎所有我能想到的东西,但仍然没有运气。有谁知道是什么导致了我这个问题?如果是这样,我该如何解决?我认为其他所有场景都在正确发布:)