我正在製作一款遊戲,而部分遊戲則是一隻收集雞蛋的兔子。當兔子與蛋相撞時,我遇到了一個問題,那就是遊戲崩潰。我得到的錯誤是收集< __NSArrayM:0x17805eed0>被列舉時發生了變異。'碰撞後刪除對象
我有一個雞蛋的圖像,雞蛋出現在每兩秒鐘後,當兔子相交的雞蛋時,我只想讓雞蛋消失並給予1分。
這裏是我使用
在頭文件中的代碼,我有
@property (strong, nonatomic) NSMutableArray *eggs;
和實現文件我有這個添加雞蛋
UIImageView *egg = [[UIImageView alloc] initWithFrame:CGRectMake(CGRectGetWidth([[self gameView] frame]), holeBottom - 115 , 50, 60)];
[egg setImage:[UIImage imageNamed:@"easterEgg.png"]];
[[self gameView] insertSubview:egg belowSubview:[self counterLabel]];
[[self eggs] addObject:egg];
而這個檢測碰撞並試圖移除雞蛋
for (UIView *egg in [self eggs]) {
[egg setFrame:CGRectOffset([egg frame], [link duration]*FBSidewaysVelocity, 0)];
if (CGRectIntersectsRect (rabbit.frame, CGRectInset ([egg frame], 8, 8))) {
[[self eggs]removeLastObject];
[self incrementCount];
}
}
我希望你能看到我的代碼出錯了,並幫助我糾正這個問題。
預先感謝您的寶貴時間
你是最棒的! @Bryan Chen非常感謝你的配偶,它的工作非常完美。 – user2632573