2

助けてください.cosos2Dゲーム開発は初めてです。楽器では、次のコードの spriteWithSpriteFrameName でゲームのリークを見つけました..

tileArray=[[CCArray alloc]initWithCapacity:11];
for (int i=1; i<=10; i++) {
@autoreleasepool {
CCSprite *encounter;
encounter = [CCSprite spriteWithSpriteFrameName:@"82x60.png"];
[self addChild:encounter z:i tag:2600+i];
encounter.position=CGPointMake(-1000,-1000);
[tileArray addObject:encounter];
}
}

できるだけ早く返信してください。ありがとう..

4

2 に答える 2

0

onExit メソッドで、スプライトシートをクリーンアップし、自分自身からすべての子を削除します。

-(void)onExit
 {
    [tileArray release];

    CCSpriteFrameCache *cache = [CCSpriteFrameCache sharedSpriteFrameCache];

    [cache removeSpriteFramesFromFile:@"yourSpriteSheet.plist"];

    [self removeAllChildrenWithCleanup:YES];

    [super onExit];


 }
于 2012-08-27T10:36:28.097 に答える
0

tileArrayがリリースされていないため、リークが発生しています。自動解放プールに設定するだけです....

tileArray=[[[CCArray alloc]initWithCapacity:11] autorelease];
于 2012-08-30T06:56:05.817 に答える