У меня есть игра, которую я написал.Я почти готов закончить, но обнаружил ошибку.В основном игра становится медленнее, чем дольше вы играете.Я думаю, это связано со спрайтами, которые все еще выводятся за пределы экрана.Я вставлю код ниже, но в основном спрайт создается методом «addNewBall».В этом методе он добавляется в массив, который вычисляет его движение.После того, как мяч достигнет положения, когда он находится за пределами экрана, он удаляется из массива, что приводит к тому, что он перестает двигаться, но он все еще «вытягивается» за пределы экрана.Как убрать спрайт, чтобы процессор больше не вычислял его.Заранее благодарим за помощь!
Таннер
Код:
-(void) addNewBall {
NumberOfBalls = NumberOfBalls + 1;
int RandomXPosition = (arc4random() % 240) + 40;
NSString *BallFileString = @"OrangeBall.png";
switch (arc4random() % 5) {
case 1:
BallFileString = @"OrangeBall.png";
break;
case 2:
BallFileString = @"GreenBall.png";
break;
case 3:
BallFileString = @"YellowBall.png";
break;
case 4:
BallFileString = @"PinkBall.png";
break;
case 0:
BallFileString = @"BlueBall.png";
break;
}
Ball = [CCSprite spriteWithFile:BallFileString];
Ball.position = ccp(RandomXPosition, 520);
BallIsMoving = YES;
[self addChild:Ball z:10];
[AllObjectsArray_ addObject:Ball];
[BallArray_ addObject:Ball];
}
//And here is where it is removed...
if (Ball.position.y <= -100) {
[BallArray_ removeObject: Ball];
}