Я хочу проверить столкновение птиц и рыб.
У меня есть BirdCache
, который содержит
-(void) isBirdCollidingWithRect:(CGRect) rect
которые проверяют каждую видимую птицу в кеше
-(void) update:(ccTime) delta
которые вызывают isFishCollidingWithRect
для проверки каждой птицы, если YES
, bird.visible = NO
и FishCache
(похоже на BirdCache
)
но в результате рыбы никогда не умирают при столкновении. (Я установил visible = NO
в обоих обновлениях
Я думаю, что проблема в состоянии гонки, когда сначала bird.visible = NO
, тогда рыба не будет сталкиваться с птицей. затем я попытался schedule:selector(delayedInvisible) interval: 1.0 / 10.0f
, но все равно не удалось.
Есть ли какой-то общий подход к такого рода проблемам?