【问题标题】:CCLiquid effect on a specific area of CCSprite?CCLiquid对CCSprite特定区域的影响?
【发布时间】:2012-02-12 20:46:05
【问题描述】:

使用 Cocos2d-iphone 开发 iPhone 游戏。我有一个巨大的精灵,我想在它上面应用 CCLiquid(或任何其他类似液体波的效果)。

不过,图像很大,所以会消耗大量内存(更不用说我在游戏过程中还有很多其他大元素)。

好吧,我想我可以尝试“仅对玩家可见的区域应用液体效果”(该区域的尺寸为 480x320)。这会很有帮助。

我已经得到了一个代表 CCSprite 应该受到影响的区域的 CGRect。但是,我将如何实际应用效果仅在此类区域内?有什么想法吗?

【问题讨论】:

    标签: objective-c cocos2d-iphone


    【解决方案1】:

    您可以从 sprite 帧手动创建 CCSprite,并将该帧的边界设置为 CGRect。然后在这个生成的 CCSprite 上使用效果。本质上,您的原始 CCSprite 图像将像一个更大的纹理图集形式,您指定该图像的一小部分作为您的精灵的实际帧。如果您将这个新复制的 sprite 分层放在主要的、较大的 sprite 的确切位置上,它似乎是该较大 sprite 的一部分,但只有小的 CGRect 部分会受到您的代码的影响。

    【讨论】:

    • 是的,我昨天尝试这样做,它确实改善了一些事情。但我仍然想在同一个精灵中这样做……无论如何,已经足够了。
    猜你喜欢
    • 1970-01-01
    • 2019-02-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-23
    • 2018-03-12
    • 2015-06-04
    • 2011-08-20
    相关资源
    最近更新 更多