如何解决?
等到碰撞方法返回后在调用Star类方法.碰撞方法在物理引擎的一帧内应该会处理完成,在下一帧里碰撞回调已经结束.所以我们将Star类方法的调用放到下一帧里执行即可,代码如下:
//... @synchronized(self){ [self scheduleBlock:^(CCTimer *timer){ [Star doStickLongerWork:self.stickInGameScene]; } delay:0]; } //...
再次反复运行App没有在出现僵尸对象了,初步验证了我的设想.
如果以后某次运行僵尸对象再次跳出来,那我们再往后续写.那是前面挖的坑啊,别怪我没告诉你们 ;)