如何在 cocos2d iphone 游戏中保存高分和加载高分
Posted
技术标签:
【中文标题】如何在 cocos2d iphone 游戏中保存高分和加载高分【英文标题】:How to save highscore and load highscore in a cocos2d iphone game 【发布时间】:2013-09-28 11:39:17 【问题描述】:我已经制作了我的第一款 iPhone 游戏,并且处于 beta 测试阶段,但后来我意识到我错过了高分。我不知道如何在游戏中添加高分,如果有人可以帮助我,将不胜感激,你能否告诉我它是否进入游戏场景.m 或 .h 文件以及在哪里声明它欢呼。 我也曾尝试过这样做,但失败了。
【问题讨论】:
您可以使用NSUserDefaults
来存储您的高分。
【参考方案1】:
实现这一目标的最佳方法是使用游戏中心。集成非常简单。
【讨论】:
【参考方案2】:你可以:
使用NSUserDefaults
使用plist
s
使用CoreData
如果只是要存储的数值,defaults
和 plist
都可以。但如果您想存储许多/其他用户的高分、姓名、时间和/或分数等,我建议使用CoreData
。
【讨论】:
raywenderlich.com/934/… 需要一些工作,但完成后,您会很高兴使用它。【参考方案3】:保存一些数据:
[[NSUserDefaults standardUserDefaults]setObject:yourNumber forKey:@"HighScore"];
阅读:
int high=[[NSUserDefaults standardUserDefaults]objectForKey:@"HighScore"];
这是objective c,cocos2d并没有什么特殊的方式为你保存数据。 你最好不要只使用游戏中心,而是保留一些用户默认的副本。
【讨论】:
所以这是我需要的唯一代码?我把这段代码放在哪里?在初始化?【参考方案4】:第一种方法:查看 plist,这是将 highscore 加载存储到 Plist
中的最佳方法,然后在需要时从 plist 中检索该 highscore。看这个教程:Look at this tutorial
第二种方法是将您的高分存储到NSUSerDefault
并在需要时检索。
NSuserDefault 仅在您从模拟器或设备中删除应用程序时才会消失。所以这也是你的解决方案..
看看这个
将数据保存为默认值:
NSUserDefaults *def = [NSUserDefaults standardUserDefaults];
[def setObject:highScore forKey:@"High Score"];
[def synchronize];
【讨论】:
我把它放在我的游戏场景.m 文件中吗?我也把它放在哪里?在初始化?我还需要什么其他代码来保存它?以上是关于如何在 cocos2d iphone 游戏中保存高分和加载高分的主要内容,如果未能解决你的问题,请参考以下文章
使用 NSUserDefaults 保存/加载数据 (cocos2d iphone)