从不同场景访问CCSprite

时间:2013-11-27 20:20:24

标签: objective-c cocos2d-iphone

所以基本上我要做的是当我的游戏玩家完成一个等级(例如等级1)时,它将场景切换回等级选择场景,并将等级1的精灵图片交换为另一个(例如,在其上面有复选标记的那个)。我可以替换场景,但我不知道如何更改新场景中的精灵,特别是在完成关卡后场景发生变化时。所以我假设我会使用单身课程,对吗?如果是这样,我将如何使用它?

2 个答案:

答案 0 :(得分:0)

单身人士可以,不要害怕使用它们。 cocos2d的许多组成部分是单例。

我认为你需要的是某种跟踪游戏状态的结构。 (完成了多少级别/下一级应该是什么/等等)。当您的关卡选择场景被加载时,它应该查找“游戏状态”对象(无论是单身,plist等)并相应地显示自己。

我会远离将信息直接从一个场景传递到另一个场景,这使得他们以后重新安排它们很头疼。

答案 1 :(得分:0)

首先,让我确保我正确理解问题。

  1. 你有一个带有精灵的场景(A)。
  2. 您转换到另一个场景(B)进行游戏。
  3. 游戏结束,您将转换回场景A.
  4. 当场景A重新显示时,您想要更改精灵显示的图像。
  5. 如果我做对了,那么无论单身是好还是坏,你都不需要一个。

    如果像我一样,你使用CCSpriteFrameCache中的显示框创建了精灵,那么你可以简单地改变你希望精灵在重新显示“A”时使用的框架。

    在另一个问题中可以看到一些示例代码:

    How to switch the image of a CCSprite

    (当然,如果我有这个权利,那么请随意欺骗这个)