在过渡到新场景时(我正在为新场景调用 self 的实例),我试图将级别编号设置为新实例的属性。
问题是当第一次创建实例时 initWithSize 在我可以设置 level 属性之前被调用,并且我只能在实例创建之后设置 level 属性,因此在第一次调用 initWithSize 时属性级别总是设置为默认值(0)。
MyScene *destinationScene = [[MyScene alloc]init];
destinationScene.currentLevel = (int) level;
NSLog(@"519 Level Passed: %d New Level: %d", (int)level, destinationScene.currentLevel);
SKTransition *transtition = [SKTransition doorwayWithDuration:2];
[self.view presentScene:destinationScene transition:transtition];
InitWithSize:在此处检查级别编号并加载
_currentLevel = self.currentLevel;
// check if no level ie loading game first time
if (_currentLevel==0) {
_currentLevel=1;
}
[self loadLevel:_currentLevel];
我发现的唯一方法是调用 initWithSize 两次,这会耗尽内存并且很混乱。任何反馈表示赞赏。