2014-11-01 37 views
1

我有2個場景GameSceneGameLostScene,在GameLostScene我創建了highScore,但我不知道如何從GameScene獲得當前得分。然後我嘗試用NSLog打印得分我可以看到什麼值是不正確的,我應該怎麼做才能使它正確?雪碧套件如何將整數值傳遞到下一個場景

GameScene方法

-(void) gameLost { 

    SKScene *nextScene = [[GameLostScene alloc] initWithSize:self.size ]; 
    SKTransition *doors = [ SKTransition fadeWithDuration:1.0]; 
    NSLog(@"%ld", self.currentScore); 
    [self.view presentScene:nextScene transition:doors]; 
} 

GameLostScene

GameScene *gameScene; 
long score = gameScene.currentScore; 
NSLog(@"%ld", score); 

回答

2

如果沒有找到你的得分數據很重要或敏感的使用NSUserDefaults

第一個場景:

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; 
[defaults setInteger:yourScore forKey:@"HighScore"]; 

第二個場景:

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; 
yourScore = [defaults integerForKey:@"HighScore"] 

這也將存儲你的分數。

或者您可以通過場景傳遞數據。

在FirstScene 在你的.m文件中聲明:

static NSInteger staticScore; 

創建類的方法,並返回該值:

+ (NSInteger) passScore { 
    return staticScore; 
} 

在另一個場景#import這個類,並得到這樣的價值:

[FirstScene passScore]; 
+0

我已經高分正常工作,我需要知道什麼得分爲你失去了之前:) – Darvydas 2014-11-01 11:28:16

+0

我的回答的第二部分是關於你如何將這個分數傳遞給你的第二個屏幕。 – 2014-11-01 11:39:58

+0

我不明白,我想將我的分數傳遞給下一個場景,我應該如何聲明它以及在我的GameScene中的位置,以及我應該如何在我的GameLostScene中訪問它? – Darvydas 2014-11-01 15:44:07

0

y我們GameLostScene.h

@interface GameOverScene : SKScene 
@property NSInteger *score; 
@end 

在你GameScene.m

#import gameLostScene.h 
@interface gameScene()<SKPhysicsContactDelegate>//If you using physics. 
@property NSInteger score; 
@end 

-(void) gameLost { 
    gameLostScene.score = self.score; 
    SKScene *nextScene = [[GameLostScene alloc] initWithSize:self.size ]; 
    SKTransition *doors = [ SKTransition fadeWithDuration:1.0]; 
    [self.view presentScene:nextScene transition:doors]; 
} 
+0

GameLostScene.score = self.score;我無法訪問GameLostScene中的樂譜屬性。在'GameLostScene'類型的對象上找不到'property'score' – Darvydas 2014-11-02 14:02:32

+0

你忘了在gameScene.m中導入gameLostScene.h嗎? – 2014-11-02 19:50:54

+0

我認爲他沒有設置屬性值但是ivar,所以他現在沒有setter但他已經用上面貼出的課程方法解決了這個問題,所以對他來說這不是實際的。 – 2014-11-02 22:14:02