【问题标题】:Cocos2D: Reuse animation for different spritesCocos2D:重用不同精灵的动画
【发布时间】:2011-09-14 16:57:28
【问题描述】:

目前我有一系列精灵(cardA、cardB、cardC)和一系列动作(flipCardA、flipCardB、flipCardC),我在 init 方法中进行了初始化。

我想摆脱 2 个不必要的动作,只拥有一个动作翻转卡,但我想不通,也找不到任何内容:“如何将相同的动作应用于不同的精灵。”

我的测试(仅适用于第三张卡):

[self.cardA runAction:self.flipCard];
[self.cardB runAction:self.flipCard];
[self.cardC runAction:self.flipCard];

所以我目前必须使用类似的东西:

[self.cardA runAction:self.flipCardA];
[self.cardB runAction:self.flipCardB];
[self.cardC runAction:self.flipCardC];

谢谢。

【问题讨论】:

    标签: cocos2d-iphone


    【解决方案1】:

    您不能同时对多个 CCSprite 使用单个 CCAction。 runAction 将 CCAction 的 target 属性设置为调用 runAction 的类对象,覆盖 target 的任何先前值。

    您可以使用[self.flipCard copy] 或继续像您正在做的那样做。或者更好的是,在您的卡片类中的一个方法中包含翻转动画的构造和执行——比如[self.cardA flipCard]——然后调用它。现在您不必担心保留翻转动画的显式副本。

    每次重新创建翻转动画的成本可以忽略不计,但您可以将创建的 CCSequence 保存在类变量中以重复使用。

    【讨论】:

    • 我选择了类选项([self.cardA flipCard])。似乎是一个更清洁的解决方案。
    猜你喜欢
    • 2010-12-18
    • 1970-01-01
    • 1970-01-01
    • 2014-05-16
    • 2011-11-05
    • 2011-11-15
    • 1970-01-01
    • 2013-01-17
    • 1970-01-01
    相关资源
    最近更新 更多