CCSprite没有使用相同的纹理ID

时间:2012-07-15 03:26:23

标签: cocos2d-iphone textures ccsprite

我创建了两个相同的CCSpriteBatchNode,分别添加不同的CCLayer。

CCSpriteBatchNode *mNode =      [param objectForKey:@"BatchNode"];

if (self =[super initWithTexture:mNode.texture rect:rect ])

{

    CCAnimation *walkAnim = [CCAnimation animationWithFrames:[[allFrameCache objectAtIndex:0] objectAtIndex:0] delay:frequencyFloat];
    CCAction* walkAction = [CCRepeatForever actionWithAction:[CCAnimate actionWithAnimation:walkAnim restoreOriginalFrame:NO]];
    [self runAction:walkAction];

}

但它显示: 2012-07-15 11:18:27.389 SanGuo_ [21379:707] * 因未捕获的异常'NSInternalInconsistencyException'而终止应用程序,原因:'CCSprite未使用相同的纹理ID'

我是新手,研究了很久,我很郁闷,谁能帮帮我?

1 个答案:

答案 0 :(得分:3)

  

CCSprite没有使用相同的纹理ID

您只能将sprite添加到sprite批处理节点,这些节点使用与sprite批处理节点相同的纹理。当您尝试将精灵添加到具有与批处理节点不同的纹理的批处理节点时,会出现此错误。

解决方案:确保sprite使用与批处理节点相同的纹理。