CCLiquid对CCSprite特定区域的影响?

时间:2012-02-12 20:46:05

标签: objective-c cocos2d-iphone

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

然而,图像很大,所以它消耗了大量的内存(没有提到我在游戏过程中有很多其他大元素)。

好吧,我想我可以尝试“仅在播放器可见的区域上应用液体效果”(此类区域的尺寸为480x320)。这可能会有很大帮助。

我已经有一个CGRect代表应该受影响的CCSprite区域。但是,我如何仅在这样的区域中实际应用效果?有什么想法吗?

1 个答案:

答案 0 :(得分:1)

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