0

私はcocos2dでiphoneゲームを開発しようとしていますが、初心者です。画面の上限に命の数を表示しようとすると、いくつか問題が発生します。だから私は3つのライフから始めて、エラーごとにそのうちの1つを減らしたいと思います。これは私のコードです

-(void)life {
    NSMutableArray *position = [NSMutableArray
                                arrayWithObjects:@"460", @"440", @"420", nil];
    spriteLifeArray = [[NSMutableArray alloc] init];
    for (int i = 0; i<life; i++) {
        spriteLife = [CCSprite spriteWithSpriteFrameName:@"cuore.png"];
        [spriteLife setTag:i];
        spriteLife.scale = 0.5;
        spriteLife.position = ccp([[position objectAtIndex:i] floatValue], 305);
        [self addChild:spriteLife];
        [spriteLifeArray addObject:spriteLife];
    }
}

これがゲームオーバーとライフリムービングのための私の機能です

-(void)gameOver:(int)value punteggio:(id)punti{
    if (value == 1) {
        // partita vinta
    } else if(value == 2) {
        if (life > 1) { // 1
            life = life - 1;
            for (CCSprite *spr in spriteLifeArray) {
                if (life == spr.tag) {
                    [self removeChild:spr cleanup:YES];
                    [self actionBlink];
                }
            }
        } else { 
            //  partita persa
        }
    }
}

「cuore.png」という名前のファイルがResourcesフォルダーにありますが、コンパイルしようとすると、スプラッシュスクリーンの後でアプリがクラッシュします。これはログです:

2013-02-11 19:55:06.635 QuizGame [6672:c07] cocos2d:cocos2d v1.0.1 2013-02-11 19:55:06.636 QuizGame [6672:c07] cocos2d:ディレクタータイプの使用:CCDirectorDisplayLink 2013-02-11 19:55:06.664 QuizGame [6672:c07] cocos2d:OSバージョン:6.1(0x06010000)2013-02-11 19:55:06.664 QuizGame [6672:c07] cocos2d:GL_VENDOR:Apple Computer、Inc. 2013-02-11 19:55:06.665 QuizGame [6672:c07] cocos2d:GL_RENDERER:Apple Software Renderer 2013-02-11 19:55:06.666 QuizGame [6672:c07] cocos2d:GL_VERSION:OpenGL ES-CM 1.1 APPLE 2013-02-11 19 :55:06.667 QuizGame [6672:c07] cocos2d:GL_MAX_TEXTURE_SIZE:4096 2013-02-11 19:55:06.667 QuizGame [6672:c07] cocos2d:GL_MAX_MODELVIEW_STACK_DEPTH:16 2013-02-11 19:55:06.667 QuizGame [6672: c07] cocos2d:GL_MAX_SAMPLES:4 2013-02-11 19:55:06.668 QuizGame [6672:c07] cocos2d:GLはPVRTCをサポートしています:はい2013-02-1119:55:06。668 QuizGame [6672:c07] cocos2d:GLはBGRA8888テクスチャをサポート:はい2013-02-11 19:55:06.669 QuizGame [6672:c07] cocos2d:GLはNPOTテクスチャをサポート:はい2013-02-11 19:55:06.670 QuizGame [6672:c07] cocos2d:GLはdiscard_framebufferをサポートします:はい2013-02-11 19:55:06.670 QuizGame [6672:c07] cocos2d:NPOTサポートでコンパイルされました:いいえ2013-02-11 19:55:06.671 QuizGame [6672: c07] cocos2d:TextureAtlasでVBOサポートを使用してコンパイル:はい2013-02-11 19:55:06.671 QuizGame [6672:c07] cocos2d:CCNodeでAffine Matrix変換を使用してコンパイル:はい2013-02-11 19:55:06.672 QuizGame [6672:c07] cocos2d:プロファイリングサポート付きでコンパイル:NO 2013-02-11 19:55:06.695 QuizGame [6672:c07] cocos2d:CCSpriteFrameCache:フレーム'cuore.png'が見つかりません2013-02-1119:55: 06.695 QuizGame [6672:c07]はい2013-02-1119:55:06.669 QuizGame [6672:c07] cocos2d:GLはNPOTテクスチャをサポートします:はい2013-02-11 19:55:06.670 QuizGame [6672:c07] cocos2d:GLはdiscard_framebufferをサポートします:はい2013- 02-11 19:55:06.670 QuizGame [6672:c07] cocos2d:NPOTサポート付きでコンパイル:いいえ2013-02-11 19:55:06.671 QuizGame [6672:c07] cocos2d:TextureAtlasでVBOサポート付きでコンパイル:はい2013- 02-11 19:55:06.671 QuizGame [6672:c07] cocos2d:CCNodeのAffine Matrix変換でコンパイル:はい2013-02-11 19:55:06.672 QuizGame [6672:c07] cocos2d:プロファイリングサポートでコンパイル:いいえ2013 -02-11 19:55:06.695 QuizGame [6672:c07] cocos2d:CCSpriteFrameCache:フレーム'cuore.png'が見つかりません2013-02-1119:55:06.695 QuizGame [6672:c07]はい2013-02-1119:55:06.669 QuizGame [6672:c07] cocos2d:GLはNPOTテクスチャをサポートします:はい2013-02-11 19:55:06.670 QuizGame [6672:c07] cocos2d:GLはdiscard_framebufferをサポートします:はい2013- 02-11 19:55:06.670 QuizGame [6672:c07] cocos2d:NPOTサポート付きでコンパイル:いいえ2013-02-11 19:55:06.671 QuizGame [6672:c07] cocos2d:TextureAtlasでVBOサポート付きでコンパイル:はい2013- 02-11 19:55:06.671 QuizGame [6672:c07] cocos2d:CCNodeのAffine Matrix変換でコンパイル:はい2013-02-11 19:55:06.672 QuizGame [6672:c07] cocos2d:プロファイリングサポートでコンパイル:いいえ2013 -02-11 19:55:06.695 QuizGame [6672:c07] cocos2d:CCSpriteFrameCache:フレーム'cuore.png'が見つかりません2013-02-1119:55:06.695 QuizGame [6672:c07]c07] cocos2d:GLはdiscard_framebufferをサポートします:はい2013-02-11 19:55:06.670 QuizGame [6672:c07] cocos2d:NPOTサポートでコンパイルされました:いいえ2013-02-11 19:55:06.671 QuizGame [6672:c07] cocos2d :TextureAtlasでVBOサポートを使用してコンパイル:はい2013-02-11 19:55:06.671 QuizGame [6672:c07] cocos2d:CCNodeでAffine Matrix変換を使用してコンパイル:はい2013-02-11 19:55:06.672 QuizGame [6672: c07] cocos2d:プロファイリングサポートでコンパイル:いいえ2013-02-11 19:55:06.695 QuizGame [6672:c07] cocos2d:CCSpriteFrameCache:フレーム'cuore.png'が見つかりません2013-02-1119:55:06.695 QuizGame [ 6672:c07]c07] cocos2d:GLはdiscard_framebufferをサポートします:はい2013-02-11 19:55:06.670 QuizGame [6672:c07] cocos2d:NPOTサポートでコンパイルされました:いいえ2013-02-11 19:55:06.671 QuizGame [6672:c07] cocos2d :TextureAtlasでVBOサポートを使用してコンパイル:はい2013-02-11 19:55:06.671 QuizGame [6672:c07] cocos2d:CCNodeでAffine Matrix変換を使用してコンパイル:はい2013-02-11 19:55:06.672 QuizGame [6672: c07] cocos2d:プロファイリングサポートでコンパイル:いいえ2013-02-11 19:55:06.695 QuizGame [6672:c07] cocos2d:CCSpriteFrameCache:フレーム'cuore.png'が見つかりません2013-02-1119:55:06.695 QuizGame [ 6672:c07]06.671 QuizGame [6672:c07] cocos2d:CCNodeのアフィン行列変換でコンパイル:はい2013-02-11 19:55:06.672 QuizGame [6672:c07] cocos2d:プロファイリングサポートでコンパイル:いいえ2013-02-11 19:55 :06.695 QuizGame [6672:c07] cocos2d:CCSpriteFrameCache:フレーム'cuore.png'が見つかりません2013-02-1119:55:06.695 QuizGame [6672:c07]06.671 QuizGame [6672:c07] cocos2d:CCNodeのアフィン行列変換でコンパイル:はい2013-02-11 19:55:06.672 QuizGame [6672:c07] cocos2d:プロファイリングサポートでコンパイル:いいえ2013-02-11 19:55 :06.695 QuizGame [6672:c07] cocos2d:CCSpriteFrameCache:フレーム'cuore.png'が見つかりません2013-02-1119:55:06.695 QuizGame [6672:c07]* + [CCSprite spriteWithSpriteFrameName:]、/ Users / alexbava / Desktop / QuizGame / QuizGame / libs / cocos2d / CCSprite.m:110 2013-02-11 19:55:06.696 QuizGame [6672:c07]でのアサーションの失敗キャッチされない例外により'NSInternalInconsistencyException'にアプリを終了、理由: '無効なspriteFrameName:cuore.png' * *まずスローコールスタック:(0x2074012 0x1ca4e7e 0x2073e78 0x14e7665 0x6564e 0xc2bd7 0xc3229 0x40261 0xc1c4d 0xc12ec 0x9931af 0x9937a1 0x99494b 0x9a5cb5 0x9a6beb 0x998698 0x2d7cdf9 0x2d7cad0 0x1fe9bf5 0x1fe9962 0x201abb6 0x2019f44 0x2019e1b 0x99417a 0x995ffc 0xc0dcf 0x2665)libc ++ abi.dylib:例外をスローして終了します(lldb)

ばかげた間違いか何かが足りないと思います。誰か助けてくれませんか?

4

2 に答える 2

2

取得した CCSprite コンストラクターは、CCSpriteFrame キャッシュで CCSpriteFrame オブジェクトを探します。「cuore.png」という名前のファイルからスプライトを作成したい場合は、コンストラクターを使用します。

CCSprite * spriteLife = [CCSprite spriteWithFile:@"cuore.png"];

スプライト フレームは通常、アニメーションや、多くの (場合によっては無関係な) テクスチャを含む大きなテクスチャ アトラスの管理に使用されます。

于 2013-02-11T19:02:28.383 に答える
1

spriteWithSpriteFrameName は、一般的に CCSpriteFrameCache と共に使用されます。「spriteWithFile」を使用してください。:)

于 2013-02-11T19:04:57.153 に答える