【问题标题】:how to embeed multiple sprite sheet CCSpriteFrameCache animation in cocos2d如何在cocos2d中嵌入多个精灵表CCSpriteFrameCache动画
【发布时间】:2011-06-07 22:15:25
【问题描述】:

全部

我想使用以下代码嵌入多个 spriteFrame 缓存。

[[CCSpriteFrameCache sharedSpriteFrameCache] addSpriteFramesWithFile:@"abc.plist"];        

// Create a sprite sheet with the Happy Bear images
CCSpriteBatchNode *spriteSheet = [CCSpriteBatchNode batchNodeWithFile:@"abc.png"];
[self addChild:spriteSheet];

问题是,在第一个动画被覆盖后,我想通过另一个 ccsprite 帧缓存做另一个动画,并添加另一个精灵表,但是当我添加另一个精灵表时它会给我 sigerbat 错误。

如何在一个动画覆盖后做多个动画然后第二个动画开始,记住有4个CCSpriteFrameCache文件(即.4个plist文件)

【问题讨论】:

    标签: iphone cocos2d-iphone


    【解决方案1】:

    添加到 CCSpriteBatchNode 的所有 CCSprite 必须使用相同的纹理。所以你想要完成的事情是不可能的,因为你正在尝试添加来自 4 种不同纹理的图像。如果您检查控制台(在 Debug 版本中),您会发现一条消息说明了这种情况。

    解决方案:为每个纹理使用一个 CCSpriteBatchNode(通过 CCSpriteFrameCache plist 加载)。您将不得不编写更多代码,但这是您可以做到的唯一方法,除了根本不使用 CCSpriteBatchNode。

    您可能需要进行性能测试以检查您是否真的需要 CCSpriteBatchNode。例如,如果您在任何时候只在屏幕上显示同一纹理中的一个精灵,则不需要 CCSpriteBatchNode。只有当屏幕上有多个(和许多)精灵并且所有精灵都使用相同的纹理时,它才会提高性能。

    【讨论】:

    • thnx 回复 GamingHorror,我会尽力做到这一点.. 并回复你.. 你可以给我你的邮件地址,或者 skype naem.. 这样如果有的话出现问题然后我可以问你吗?回复
    • 我通过电子邮件给你,你可以看到这个cocos2d-central.com/topic/…
    猜你喜欢
    • 1970-01-01
    • 2013-10-18
    • 2014-05-11
    • 1970-01-01
    • 2010-12-18
    • 1970-01-01
    • 1970-01-01
    • 2012-03-18
    • 1970-01-01
    相关资源
    最近更新 更多