1

3つのスプライトを結合して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' が原因でアプリを終了しています。理由: 'Invalid 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 に答える