如何在 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 使用plists 使用CoreData

如果只是要存储的数值,defaultsplist 都可以。但如果您想存储许多/其他用户的高分、姓名、时间和/或分数等,我建议使用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 游戏中保存高分和加载高分的主要内容,如果未能解决你的问题,请参考以下文章

iphone游戏灯光效果与cocos2d

使用 NSUserDefaults 保存/加载数据 (cocos2d iphone)

如何使用 Cocos2d 制作这样的游戏

Cocos2d iphone 应用程序在实际 iphone 上运行异常

如何使用cocos2d

cocos2d游戏中添加放大镜