所以我正在用 cocos2d 创建一个游戏,我的很多场景(不是全部,而是很多)都会有一种你可以称之为“记分牌”的东西,它们会有基本的原则。我想知道,我怎样才能使“游戏场景”都可以实现记分牌?
我在想这可以使用类似类别的东西,但我对 iOS/obj-c 还很陌生,所以我不知道这是否是正确的方法。
在 Java 中,我可能只是将所有场景创建为子类,并让超类完成所有记分牌处理,但我不知道如何在 iOS/obj-c 中做到这一点。
谢谢
所以我正在用 cocos2d 创建一个游戏,我的很多场景(不是全部,而是很多)都会有一种你可以称之为“记分牌”的东西,它们会有基本的原则。我想知道,我怎样才能使“游戏场景”都可以实现记分牌?
我在想这可以使用类似类别的东西,但我对 iOS/obj-c 还很陌生,所以我不知道这是否是正确的方法。
在 Java 中,我可能只是将所有场景创建为子类,并让超类完成所有记分牌处理,但我不知道如何在 iOS/obj-c 中做到这一点。
谢谢
子类 CCNode 或任何其他合适的类(CCScene、CCLayer,这并不重要)。将此类命名为 MyScoreboard。通过向其添加节点并定位它们来设计您的记分牌节点,就像任何其他场景一样。
然后,只要您需要记分板,只需创建一个实例并将其添加到节点层次结构中:
MyScoreboard* scoreboard = [[MyScoreboard alloc] init];
[self addChild:scoreboard];
根据需要使用参数 (initWithScore:Player:WhatNot:) 修改 init。
您可以在此处使用相同的解决方案。创建 CCScene 的子类。然后在那里实现你的分数逻辑。场景的所有子类都可以调用这些方法。例如,您可以创建方法 showScore/hideScore 或其他方法。在那里,您可以在当前场景中构建和添加/删除您的分数实例。