cocos2d如何结合精灵

时间:2012-04-04 07:26:12

标签: iphone ios cocos2d-iphone

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

    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'

请帮我弄清楚。

2 个答案:

答案 0 :(得分: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];

答案 1 :(得分:0)

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

相关问题