我有一個我寫的遊戲。我即將準備完成,但我發現了一個錯誤。基本上,隨着遊戲時間越長,遊戲越慢。我的猜測是這是由於仍在屏幕上的精靈。我將粘貼下面的代碼,但基本上這個精靈是在「addNewBall」方法中創建的。在這種方法中,它被添加到計算其運動的陣列中。當球到達屏幕後的位置時,它會從陣列中移出,導致它停止移動,但仍然在屏幕上「畫出」。如何刪除精靈,以便處理器不再計算它。在此先感謝您的幫助!從屏幕cocos2d iphone中刪除精靈?
坦納
代碼:
-(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];
}
沒有,我在那個節點許多孩子,和那些有表現相同的數組也在同一個數組中。感謝您的幫助! – 2011-03-03 02:25:51
很高興爲您服務。如果您的問題得到解決,您應該將此答案標記爲未來讀者的利益:) – 2011-03-03 23:04:25