0

編集:プッシュ/ポップを使用してみましたが、クラッシュします。

私がやろうとしていることが途方に暮れているような気がします.コアグラフィックスを画面に表示させる方法はありますか? 常に動き回る2点間に線を引くなど、フレームごとに更新できるものが必要です.誰かが完全な代替案を知っていても、試してみます.

.h で

CGContextRef context;

メートルで

初期化メソッドで

int width = 100;
int height = 100;

void *buffer = calloc(1, width * height * 4);
context = CreateBitmapContextWithData(width, height, buffer);

CGContextSetRGBFillColor(context, 1, 1, 1, 1);
CGContextAddRect(context, CGRectMake(0, 0, width, height));
CGContextFillPath(context);

CGImageRef image = CGBitmapContextCreateImage(context);

hud_sprite = [CCSprite spriteWithCGImage:image key:@"hud_image1"];

free(buffer);
free(image);

hud_sprite.anchorPoint = CGPointMake(0, 0);
hud_sprite.position = CGPointMake(0, 0);

[self addChild:hud_sprite z:100];

更新したいときに呼び出すメソッドで。

int width = 100;
int height = 100;

UIGraphicsPushContext(context);

    CGContextClearRect(context, CGRectMake(0, 0, width, height)); //<-- crashes here. bad access...

    CGContextSetRGBFillColor(context, random_float(0, 1),random_float(0, 1),random_float(0, 1), .8);
    CGContextAddRect(context, CGRectMake(0, 0, width, height));
    CGContextFillPath(context);

    CGImageRef image = CGBitmapContextCreateImage(context);

UIGraphicsPopContext();

//CGContextRelease(ctx);

[[CCTextureCache sharedTextureCache] removeTextureForKey:@"hud_image1"];
[hud_sprite setTexture:[[CCTextureCache sharedTextureCache] addCGImage:image forKey:@"hud_image1"]];

free(image);
4

1 に答える 1