【发布时间】:2013-12-18 23:50:25
【问题描述】:
我正在尝试在两个场景之间传递数据(分数)。但是,我的第二个场景在第一个场景可以传递数据之前进行分配。不知道为什么。我的代码:
MainScreen.m
-(void)gameOver
{
self.view.scene.userData = [[NSMutableDictionary alloc]init];
[self.view.scene.userData setObject:self.score forKey:@"score"];
SVGGameOverScreen *gameOverScreen = [[SVGGameOverScreen alloc]initWithSize:self.size];
gameOverScreen.view.scene.userData = [[NSMutableDictionary alloc]init];
[gameOverScreen.userData setObject:[self.view.scene.userData objectForKey:@"score"] forKey:@"score"];
NSLog(@"Value of score (FIRST SCREEN): %d", self.score.intValue);
NSLog(@"Value of object for score key (FIRST SCREEN) %@", [self.userData objectForKey:@"score"]);
[self.backgroundMusicPlayer stop];
//Transition to new view
SKTransition *transition = [SKTransition pushWithDirection:SKTransitionDirectionUp duration:1.0];
transition.pausesOutgoingScene = YES;
[self.view presentScene:gameOverScreen transition:transition];
}
GameOverScreen.m
in init method
...
self.score = [[NSNumber alloc]init];
self.score = [self.userData objectForKey:@"score"];
NSLog(@"Value of object for score key (SECOND SCREEN) %@", [self.userData objectForKey:@"score"]);
调用gameOver时输出如下:
2013-12-18 15:47:48.646 [] Value of object for score key (SECOND SCREEN) (null)
2013-12-18 15:47:48.700 [] Value of score (FIRST SCREEN): 26
2013-12-18 15:47:48.700 [] Value of object for score key (FIRST SCREEN) 26
【问题讨论】:
标签: iphone objective-c sprite-kit