在SpriteKit中保存一个级别编号

时间:2013-11-24 20:46:03

标签: ios objective-c sprite-kit

我希望在游戏中的一些事件后重新加载我的场景。但我想保持水平参数(增加它)。你会怎么做?我是iOS开发的初学者。我知道有一些全局变量,但不确定这是否可行,这是正确的方法。谢谢!

2 个答案:

答案 0 :(得分:1)

有几种选择,其中一些是:

  • 场景的父视图控制器上可以从场景中更新的属性
  • 可以使用单例类(我不建议这样做,但可能导致问题)
  • 核心数据

如果您想保留等级值以供将来使用(例如,如果播放器可以加载 他们以后的比赛),我会使用核心数据。如果你不需要长期存储它,我会 在父视图控制器上使用属性:

YourViewController.h:

#import YourScene.h

...

@property int level;

YourViewController.m

...
//before you present the scene
yourScene.viewController = self;
...

YourScene.h

#import YourViewController.h

@property (nonatomic,weak) YourViewController *viewController;

YourScene.m

...
//store the level in the parent controller
_viewController.level = 1;
...

答案 1 :(得分:0)

您可以使用属性列表文件。