1

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

    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”

请帮我弄清楚。

4

2 回答 2

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];
于 2012-04-04T08:14:27.567 回答
0

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

于 2012-04-04T07:33:02.140 回答