我有一個場景,用戶在遊戲中選擇水平,然後我想切換到用戶選擇的水平的遊戲場景。我想創建具有合適級別的遊戲場景,但要做到這一點,我需要傳遞一個整數,這是遊戲場景的級別數字,因此我知道要裝入哪個級別。在場景之間傳遞整數,iphone遊戲精靈套件
我的問題是,我該如何做到這一點?我查看了節點的userdata屬性,但無法弄清楚如何使用它來完成我想要的功能。任何幫助將深表感謝。
我有一個場景,用戶在遊戲中選擇水平,然後我想切換到用戶選擇的水平的遊戲場景。我想創建具有合適級別的遊戲場景,但要做到這一點,我需要傳遞一個整數,這是遊戲場景的級別數字,因此我知道要裝入哪個級別。在場景之間傳遞整數,iphone遊戲精靈套件
我的問題是,我該如何做到這一點?我查看了節點的userdata屬性,但無法弄清楚如何使用它來完成我想要的功能。任何幫助將深表感謝。
當您在級別選擇場景中調用[self.view presentScene:scene transition:transition]
時,首先使用級別編號設置新場景。 SO:
//GameScene.h
//This is the public interface for your game scene
@import SpriteKit;
@interface GameScene : SKScene
@property (nonatomic, assing)NSInteger levelNumber;
@end
然後
//Level Selection Scen
//Select.m
#import "GameScene.h"
... Rest of your code
User selects level and you prepare for transition and call
- (void)transitionToLevel:(NSInteger)level{
GameScene *destinationScene = [[GameScene alloc] initWithSize:self.size];
destinationScene.levelNumber = level;
SKTransition *transition = //Set up transition here
[self.view presentScene:destinationScene transition:transition];
}
而在你的遊戲場景的實現
//GameScene.m
#import "GameScene.h"
@implementation GameScene
-(id)initWithSize:(CGSize){
if (self.levelNumber == 1){
[self playLevelOne]; //Where this is where you play your game
}
else if (self.levelNumber == 2){
[self playLevelTwo];
}
}
- (void)playLevelOne{
//Level Implementation
}
- (void)playLevelTwo{
//Level Implementation
}
@end
你會爲你計劃支持
// First Scene
NSUserDefaults.standardUserDefaults().setInteger(12345, forKey:"SCORE")
// Second Scene
if let myScore: AnyObject = NSUserDefaults.standardUserDefaults().objectForKey("SCORE") {
println(myScore)
finalScore = myScore as IntegerLiteralType
}
感謝的人每個級別做到這一點,那正是我需要的! – Marcus