1

在我的游戏中,当我加载一个新关卡时,之前的关卡似乎仍然保留在视图中。每个关卡都有自己的类,它们都会在屏幕上绘制一些东西。因此,如果我加载了 2 个或更多级别的图像,那会使我的游戏太慢。我可以做些什么来卸载上一个级别?提前致谢..

- (void) finishedLevel: (Level *) level
{

        levelNumber++;
    levelClass = NSClassFromString([NSString stringWithFormat:
                                    @"Level_%d", levelNumber]);
    if (!levelClass) levelClass = [Level class];

    currentLevel = [[levelClass alloc] initWithView: self.mainView];

    self.mainView.levelLabel.text = [NSString stringWithFormat:@"Level %d", levelNumber];

    gameRunning = NO;
}

我尝试使用以下但并没有真正起作用

levelClass = NSClassFromString([NSString stringWithFormat:@"Level_%d", levelNumber-1]);

    [levelClass removeFromSuperview];

错误信息

*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '+[Level_1 removeFromSuperview]: unrecognized selector sent to class 0x107644'
4

0 回答 0