0

私は通常のUIKitアプリケーションを持っていますが、ちょっとした仕事にcocos2dを使いたいです。関数glReadPixelsを使用したいので、cocos2dimage->CCSpriteが必要です。

このエラーが発生したため、この問題に2日間取り組んでいます。

2012-08-08 16:58:50.673 iBlaulicht 2 [11801:16a03] *キャッチされなかった例外「NSInvalidArgumentException」が原因でアプリを終了しています。理由: '+ [NSStringのstringWithCString:コード:]:NULLのCString」* *まずスローコールスタック(0x1f88022 0x1b9bcd6 0x1f30a48 0x1f309b9 0x16050c7 0x62687 0x62589 0x62317 0x86979 0x47c5c 0x2d63 0xdc5a1e 0x222d 0xcfc386 0xcfd274 0xd0c183 0xd0cc38 0xd00634 0x338cef5 0x1f5c195 0x1ec0ff2 0x1ebf8da 0x1ebed84 0x1ebec9b 0xcfcc65 0xcfe626 0x20cb 0x2065)で終了します例外のスローと呼ばれる(lldb)

これは私のコードです:

    - (id)initWithImage:(UIImage *)drawnImage{

    if (self == [super init]) {



        CCTexture2D *tex = [[[CCTexture2D alloc] initWithImage:drawnImage resolutionType:kCCResolutionRetinaDisplay] autorelease];
        CCSprite *imageSprite = [CCSprite spriteWithTexture:tex];


        imageSprite.position = CGPointMake(0, 0 );
        [self addChild:imageSprite];



    }


    return self;
}


- (NSArray *)determinePixels{


    for (int y_direction = 0; currentImage.size.height > y_direction; y_direction += 20) {


        for (int x_direction = 0; currentImage.size.width > x_direction; x_direction += 20) {

            Byte pixelColor[4];
            glReadPixels(x_direction, y_direction, 1, 1, GL_RGB, GL_UNSIGNED_BYTE, &pixelColor[0]);

            // Just to test
            NSLog(@"0");
        }
    }

    return 0;
}

助けてくれてありがとう...ありがとう。クリス

4

2 に答える 2

1

私は自分で解決策を見つけました!

EAGLViewを追加し、CCDirectorを使用してOpenGlビューとして設定しました。

- (id)initWithImage:(UIImage *)drawnImage{

    if (self == [super init]) {

        EAGLView *glview = [EAGLView viewWithFrame:CGRectMake(0, 0, 250,350)];


        CCDirector *director = [CCDirector sharedDirector];
        [director setOpenGLView:glview];

        CCTexture2D *tex = [[CCTexture2D alloc] initWithImage:drawnImage resolutionType:kCCResolutionRetinaDisplay];
        imageSprite = [KKPixelMaskSprite spriteWithTexture:tex];


        imageSprite.position = CGPointMake(0, 0 );
        [self addChild:imageSprite];



    }


    return self;
}
于 2012-08-08T18:58:11.360 に答える
1

このトピックに関するRayWenderlichの投稿を見てください。

http://www.raywenderlich.com/4817/how-to-integrate-cocos2d-and-uikit

于 2012-08-08T15:37:28.547 に答える