iPhone游戏开发:成就框架?

时间:2011-10-19 19:26:46

标签: iphone frameworks game-center achievements

我写了一个简单的游戏,并希望将GameCenter成就与它集成。

我想尝试以干净利落的方式做到这一点,这很容易增加额外的成就。

我认为,成就有以下几点:

  • 触发'组'(例如,在游戏结束时,碰撞时等)
  • 依赖性(例如,在获得“5颗金星”之前,你无法获得“10颗金星”)。

基于此,我尝试编写一个单例类,该类读取完整列表(来自plist)的成就,每个成员按触发器类及其依赖项分组。这个单例允许其他类注册@selector() - 就像触发组的回调一样(例如,“在'game_end'触发器上,调用此函数”)。然后可以在我的游戏中的定制点干净地调用这些触发器。这产生了一个整洁,几乎“抽象”的系统,我可以在未来的游戏中使用它。

然后灾难;我最终得到EXC_BAD_ACCESS错误,我只能假设是因为我将@selector回调从非静态类绑定到静态单例类中。错误出现在这一行:

GCAchievementsHelper *h = [GCAchievementsHelper sharedInstance];
[h addEventListener:@"game_end" target:self selector:@selector(achievementHandlerGameEnd:)];

我假设这是因为“自我”(游戏层)无法传递给静态单身人士?!

我真的不想在我的代码周围分散大量重复的IF语句来检查我所需的所有成就条件......如果可能的话!

总结一下,我的问题是:

  

有人知道成就框架吗?它不一定是GC / OpenFeint甚至是ObjC兼容 - 即使伪代码也会很棒。

1 个答案:

答案 0 :(得分:1)

有一些GameCenter开源框架可以利用你的一些负载。

GameCenterManager遵循单身模式并且非常“轻松”

iOS Game Center Cache是一个功能齐全的游戏中心框架。

我建议你看看他们两个......

祝你好运:)