2012-04-04 132 views
1

我想合并三个精灵并将其显示为一个精灵。 我创建了一个空的精灵并添加了部件,但无法正常工作。cocos2d如何组合精灵

CCNode *stars = [CCNode node]; 

    CCSprite *star1 = [CCSprite spriteWithSpriteFrameName:@"star.png"]; 
    star1.position = ccp(-10, 0); 
    [stars addChild:star1]; 

    CCSprite *star2 = [CCSprite spriteWithSpriteFrameName:@"star.png"]; 
    star2.position = ccp(0, 0); 
    [stars addChild:star2]; 

    CCSprite *star3 = [CCSprite spriteWithSpriteFrameName:@"star.png"]; 
    star3.position = ccp(10, 0); 
    [stars addChild:star3]; 

    [self addChild:stars]; 

,我得到了下面的异常

应用萌发过程中由于未捕获的异常 'NSInternalInconsistencyException',理由是: '无效spriteFrameName:star.png'

请帮我找出。

+0

什么是精灵? – tams 2012-04-04 07:32:04

+0

对不起。这是一个错误。 – Hassy31 2012-04-04 07:42:38

回答

1

您将单一精灵这样的:

CCSprite *star1 = [CCSprite **spriteWithFile**:@"star.png"]; 
star1.position = ccp(-10, 0); 
[self addChild:star1]; 

这听起来像你对我尝试使用精灵帧,但你有没有装任何精灵表正常,或者你的意思是使用spriteWithFile

CCNode *stars = [CCNode node]; 

CCSprite *star1 = [CCSprite spriteWithFile:@"star.png"]; 
star1.position = ccp(-10, 0); 
[stars addChild:star1]; 

CCSprite *star2 = [CCSprite spriteWithFile:@"star.png"]; 
star2.position = ccp(0, 0); 
[stars addChild:star2]; 

CCSprite *star3 = [CCSprite spriteWithFile:@"star.png"]; 
star3.position = ccp(10, 0); 
[stars addChild:star3]; 

[self addChild:stars]; 
+0

完美。非常感谢你! – Hassy31 2012-04-04 08:19:56

0

这听起来像是有问题的.png文件。确保您已将其添加到项目的资源中。

+0

感谢您的答复。我已将star.png文件添加到Resources中,并且可以将其显示为普通Sprite。 – Hassy31 2012-04-04 07:41:18