Je fais un petit jeu, voici quelques exemples de code de ce qui se passe:NSMutableArray et problèmes batchNode
-(id) init
{
self.arrowProjectileArray = [[[NSMutableArray alloc] init] autorelease];
self.batchNode = [CCSpriteBatchNode batchNodeWithTexture:[[CCTextureCache sharedTextureCache] addImage:@"arrow.png"]];
[self addChild:_batchNode z:2];
for (CCSprite *projectile in _arrowProjectileArray) {
[_batchNode removeChild:projectile cleanup:YES];
}
[_arrowProjectileArray removeAllObjects];
self.nextProjectile = nil;
}
}
-(void) callEveryFrame:(ccTime)dt{
for (int i = 0; i < [_arrowProjectileArray count];i++) {
CCSprite *cursprite = [_arrowProjectileArray objectAtIndex:i];
if (cursprite.tag == 1) {
float x = theSpot.x+10;
float y = theSpot.y+10;
cursprite.position = ccp(x, y);
}
}
- (void)ccTouchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
[_batchNode addChild:_nextProjectile z:1 tag:1];
[_arrowProjectileArray addObject: _nextProjectile];
[self spriteMoveFinished];
}
-(void) dealloc
{
self.arrowProjectileArray = nil;
self.nextProjectile = nil;
[super dealloc];
}
Le seul code que j'inclus était le code qui est pertinent pour la projection de la flèche. La flèche tire bien, le problème est chaque fois que je tire sur la chose stupide, je pense qu'il tire une nouvelle flèche, mais met plusieurs flèches sur cette flèche 1 et le fait ressembler à une grosse chose laide pixel flèche. Qu'est-ce que je fais mal? Je ne connais pas très bien NSMutableArray, mais je suis actuellement bloqué.
Je ne pense pas que vous avez lu tout le code ... les flèches sont ajoutées dans le tableau, elles tirent. C'est juste de réutiliser les mêmes flèches et de faire quelque chose d'étrange. Regarder en toucheBegan – Gabe